Собственная реакция: Сбой сетевого запроса

#react-native

Вопрос:

Я столкнулся с очень странной проблемой:

Я пытаюсь выполнить выборку в собственном приложении react. На физическом iPhone все работает нормально, на симуляторе я получаю ошибку «Сбой сетевого запроса».

API-это https, и я уже изменил Info.plist, чтобы разрешить NSAllowsArbitraryLoads.

 var url = requestedURL; // its https  fetch(url)  .then((response) =gt; response.json())  .then((data) =gt;  this.setState({ coordinates: data.features[0].geometry.coordinates })  )  .catch((err) =gt; console.log(err));  

Информация.plist:

 lt;keygt;NSAppTransportSecuritylt;/keygt; lt;dictgt;  lt;keygt;NSAllowsArbitraryLoadslt;/keygt;  lt;true/gt;  lt;keygt;NSExceptionDomainslt;/keygt;  lt;dictgt;  lt;keygt;localhostlt;/keygt;  lt;dictgt;  lt;keygt;NSExceptionAllowsInsecureHTTPLoadslt;/keygt;  lt;true/gt;  lt;/dictgt;  lt;/dictgt;  lt;keygt;geoapify.comlt;/keygt;  lt;dictgt;  lt;keygt;NSIncludesSubdomainslt;/keygt;  lt;true/gt;  lt;keygt;NSTemporaryExceptionAllowsInsecureHTTPLoadslt;/keygt;  lt;true/gt;  lt;keygt;NSTemporaryExceptionMinimumTLSVersionlt;/keygt;  lt;stringgt;TLSv1.1lt;/stringgt;  lt;/dictgt; lt;/dictgt;  

Я предполагаю, что это связано с сертификатами или чем-то еще.

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

1. Является доменом requestedURL geoapify.com?

2. да, это так, api.geoapify.com

Ответ №1:

Попробуйте один из следующих способов

Решение № 1

Добавление «Типа содержимого»: «приложение/json» в заголовки

 headers: {  Authorization: token,  'Content-type': 'application/json',  /** rest of headers... */ }  

Решение № 2

если вы используете localhost, просто измените его :

 from :http://localhost:3030 to :http://10.0.2.2:3030  

Решение № 3

Добавить android:usesCleartextTraffic="true" строку в AndroidManifest.xml.