Как я могу получить данные с веб-сайта, такого как Apple или Google, с помощью JavaScript? - PullRequest
0 голосов
/ 07 января 2019

Знаете ли вы, как я могу получить данные с веб-сайта, такого как Apple или Google, с помощью JavaScript? «данные» означают текст

Я пытался проверить многие другие форумы, но когда я проверяю их код, консоль выводит:

Доступ к XMLHttpRequest в 'http://www.apple.com.au/' из источника' null 'был заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.

makeXMLRequest();
 function makeXMLRequest() {
  xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4) {
    alert(xmlhttp.responseText);
}
}
xmlhttp.open("GET","https://www.apple.com.au",true);
xmlhttp.send();
}

1 Ответ

0 голосов
/ 07 января 2019

Обмен ресурсами между источниками (CORS) является фундаментальной концепцией в веб-разработке.

В основном, большинство компаний не хотят передавать контент приложениям на стороне клиента, которые им не принадлежат, в основном для обеспечения безопасности, а также для загрузки сервера. Вот почему при использовании XHR из, скажем, localhost, вы не сможете получить контент из google.com.

Однако это относится не ко всем веб-страницам - общедоступные образовательные API часто настраивают свои заголовки CORS таким образом, чтобы их контент был доступен везде.

Время демонстрации:

// get rejected because of facebook's CORS policy
fetch('https://facebook.com')
  .then(console.log)
  .catch(console.error);

// works fine
fetch('https://api.github.com')
  .then(console.log)
  .catch(console.error);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...