Реагируйте на собственную ошибку извлечения данных из REST api при запросах https

#reactjs #react-native

Вопрос:

Я использую React Native для получения некоторых данных из REST api, который основан на ядре dotnet. Когда я пытаюсь получить данные из api в эмуляторе Android, возникает сетевая ошибка, однако она работает на IOS.

Я пытался получать данные с помощью http вместо https, и это тоже работает.

Комментарии:

1. какие ошибки вы получаете? пожалуйста, включите вывод ожидаемых и неожиданных результатов, если это возможно

2. Я использую axios и получаю: [Ошибка: Сетевая ошибка] Но я попробовал тот же код на эмуляторе iOS, и он работает.

3. не могли бы вы добавить всю ошибку, напечатанную вашим IDEтерминалом?

Ответ №1:

Привет, чтобы предотвратить сетевую ошибку http , вы можете добавить эту строку в AndroidManifest файл

 <?xml version="1.0" encoding="utf-8"?>
    <manifest ...>
        <uses-permission android:name="android.permission.INTERNET" />
        <application
            ...
            android:usesCleartextTraffic="true" //<--- add this line
            ...>
            ...
        </application>
    </manifest>
 

Комментарии:

1. Я попробовал это. Но http работает. Я получаю ошибку с https.

2. вы ввели свои данные в строку запроса

3. Если вы можете получить доступ по протоколу http, но не по протоколу https, это может быть проблемой доверия. С уровнем защищенных сокетов вам понадобится сертификат доверия, который позволит вам получить доступ к сайту. Вы можете проверить этот веб-сайт для получения более подробной информации: developer.android.com/training/articles/security-ssl