Как отключить https только для запросов на выборку в expo response native / node js - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь использовать API выборки для связи с моим сервером на локальном хосте, запрос выборки выдает следующую ошибку:

[Unhandled promise rejection: TypeError: Network request failed]
- node_modules\whatwg-fetch\dist\fetch.umd.js:473:29 in xhr.onerror
- node_modules\event-target-shim\dist\event-target-shim.js:818:39 in EventTarget.prototype.dispatchEvent
- node_modules\react-native\Libraries\Network\XMLHttpRequest.js:574:29 in setReadyState
- node_modules\react-native\Libraries\Network\XMLHttpRequest.js:388:25 in __didCompleteResponse
- node_modules\react-native\Libraries\vendor\emitter\EventEmitter.js:190:12 in emit
- node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:436:47 in __callFunction
- node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:111:26 in __guard$argument_0
- node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:384:10 in __guard
- node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:110:17 in __guard$argument_0
* [native code]:null in callFunctionReturnFlushedQueue

Я прочитал, что ios поддерживает только запросы https, даже если я был в состоянии сделать это раньше, единственное отличие состоит в том, что я использовал xampp / mysql, а теперь я использую nodejs с mon goose.

Я просто использую следующее на внешнем интерфейсе

          fetch("http://localhost:3000/user/login", {
            method: "POST",
            headers: {
              "Content-Type": "application/json"
            },
            body: JSON.stringify(data)
          })
            .then(response => response.json())
            .then(data => {
              console.log("Success:", data);
              console.log("Success");
            })
            .catch(error => {
              console.log(error);
            });

Сервер работает правильно, я обычно могу публиковать данные и успешно входить в систему с помощью почтальона. (Используя JSON) Я также попытался ввести случайный URL-адрес Google (https://google.com), и он вернул читаемую ошибку, которая логична, что поддержало проблему https.

Любые предложения ?

Редактировать: Похоже, это не имеет ничего общего ни с iphones, ни с ssl. Я установил эмулятор android (Pixel XL, R Software), эмулятор не достигает моего локального хоста, я также пытался использовать локальный ip моего p c.

Понятия не имею, почему он не связывается с сервером, это какая-то конфигурация экспо?

1 Ответ

0 голосов
/ 20 марта 2020

вы можете настроить самозаверяющий сертификат на локальном веб-сервере, см. https://shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp/ или использовать другие термины, похожие на «Настройка самозаверяющего сертификата на локальном хосте».

...