Ответ - ошибка 401 при запросе локального ресурса с веб-страницы http - PullRequest
0 голосов
/ 21 декабря 2018

Chrome выбрасывает

XMLHttpRequest не может загрузить http://127.0.0.1:8006/test Нет 'Access-Control-Allow-Origin' заголовок присутствует на запрошенном ресурсе.Происхождение 'http://xxx.yyy.com' поэтому не разрешено.Ответ имеет код состояния HTTP 401.

Я открываю всплывающее окно с HTTP и отправляю запрос на локальный HTTP-сервер, созданный Java.

Работает нормально на всех машинахкроме как на другом компьютере, браузер выдает вышеупомянутую ошибку.

Насколько я понимаю, получение этой ошибки в HTTP до HTTP немного странно.

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

Это совсем не странно - 127.0.0.1:8006 и xxx.yyy.com имеют различное происхождение, и Java-сервер не отправляет заголовок Access-Control-Allow-Origin, который сообщит брату, что все в порядке.

Подробнее на https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

По сути, серверу Java необходимо добавить заголовок Access-Control-Allow-Origin с разрешенным источником CORS или с подстановочным знаком (который допускает любое начало):

  • Access-Control-Allow-Origin: *
  • Access-Control-Allow-Origin: http://xxx.yyy.com (включая протокол, так как http и https являются разными источниками в глазах браузера)
0 голосов
/ 21 декабря 2018

Вы должны добавить заголовки на стороне сервера, где вы вызываете этот URL для реализации веб-сервиса. Это поможет вам понять, как заголовки добавляются в Java.

Например:

.header("Access-Control-Allow-Origin", "*")

Если вы все еще хотите избежать ошибки cross origin.В этом случае я предлагаю вам использовать это расширение с Chrome: Расширение Chrome для Cors .

Это поможет вам избежать ошибки перекрестного происхождения только в браузере вВаша машина для разработки.

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