Ściąganie źródła strony z internetu przy pomocy funkcji XMLHttpRequest()

0

Mamy sobie kod:

<!DOCTYPE html>
<html>
<body>
<script>
function LadujZawartoscStronyURL(url) {  
 var req = new XMLHttpRequest();
 req.open('GET', url, true);
 req.send(null);
 if(req.status == 200){
     return req.responseText;
 }else{
     return null;
 }
}
alert(LadujZawartoscStronyURL('https://www.google.pl'));
</script>
</body>
</html>

Pytanie, dlaczego ten kod nie działa, a powinien, i jak go poprawić? A powinien wyświetlić się alert ze źródłem strony!

1

Powodów może być wiele. Pierwsze co się rzuca w oczy to parametr true w funkcji open, która sprawia, że kod wykonuje się asynchronicznie, czyli funkcja zwraca rezultat bez oczekiwania na zakończenie działania.

0

Większość stron nie pozwoli Ci się do siebie dobić przy pomocy JS XMLHttpRequest(), przez CORS policy. Takie rzeczy robi się np pythonem (request + BeautifulSoup4 jeśli chcesz później coś z tego kodu wyciągnąć) - lub oczywiście dowolną inną technologią to umoliwiającą.

1 użytkowników online, w tym zalogowanych: 0, gości: 1