Ioni c http получить с не-ssl сайтов с настройками CORS - PullRequest
1 голос
/ 31 марта 2020

Мой сайт включен с CORS. Я могу проверить свои ссылки с помощью Почтальона, и он работает отлично.

Приложение Ioni c, которое я разрабатываю, также работает нормально, когда я использую эти ссылки из браузера. В тот момент, когда я запускаю приложение в телефоне android, оно перестает работать. Вот сообщение об ошибке, которое я получил.

    {
      "headers": {
        "normalizedNames": {},
        "lazyUpdate": null,
        "headers": {}
      },
      "status": 0,
      "statusText": "Unknown Error",
      "url": "http://subdomain.mydomain.com/DataServer/Country",
      "ok": false,
      "name": "HttpErrorResponse",
      "message": "Http failure response for http://subdomain.mydomain.com/DataServer/Country: 0 Unknown Error",
      "error": {
        "isTrusted": true
      }
    }

Обратите внимание, что сайт, с которого я пытаюсь получить данные, - http , а не https . Когда я пытался получить данные из https, это работает. Я пытался получить данные со следующего

https://jsonplaceholder.typicode.com/todos/1

кода

 this.http.get('https://jsonplaceholder.typicode.com/todos/1').subscribe((response) => {
      alert("Success: " + JSON.stringify(response));
    }, (err) => {
      alert("Error: " + JSON.stringify(err));
    });

Проблема выглядит так: Ioni c (Cordova) блокирует запросы http.get с веб-сайтов http. . (Необеспеченный). Есть ли способ переопределить это?

1 Ответ

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

Проблема не в кордове, проблема в вашей версии, если вы протестируете ее на версии менее 28, тогда она будет работать нормально, но для версии более 28 android отключит любой запрос, если это не https по соображениям безопасности, Чтобы решить эту проблему, вы можете либо получить бесплатный ssl с любого ssl-сайта и разместить его на своем домене, либо на своем веб-сайте, который вы поставили перед своим доменом, например https://sslspecificsitename?site=http: //yoursite.com , Так что его роль заключается в том, чтобы подделать запрос Android, что запрос https, а затем перенаправить и сделать запрос на ваш сайт. Но первое лучше, поскольку любой веб-сайт, который вы пишете напротив своей ссылки, может быть остановлен или удален его владельцем, поэтому ваше приложение получит go и получит бесплатный ssl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...