Можете предложить альтернативу функции PHP file_get_contents
на javascript?
Можно использовать эту функцию
function httpGet(theUrl){
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
return xmlHttp.responseText;
}
httpGet("some url");
Если сайт не разрешает читать, можно использовать cors proxy (например https://cors-anywhere.herokuapp.com/)
window.xhr = (url,callBack) => {
let xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
callBack(xhr.responseText);
}
}
};
xhr.send();
}
xhr("http://site.domen/",(data) => {
});
Если запрос посылается на другой домен, к которому доступа нет (Access-Control-Allow-Origin
), создайте php
файл с содержимым
$ch = curl_init($_GET['url']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
echo curl_exec($ch);
curl_close($ch);
И запрашивайте данные с помощью него
xhr("get.php?url="+url,(data) => {
});
Так же для удобства можно просто дополнить строку в функции xhr
и обращаться к ней без префикса get.php?url=
в первом аргументе (как в первом примере)
xhr.open("GET", "get.php?url="+url);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Вопрос может показаться глупым, но я выполнил в командной строке команду