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

Ściąganie źródła strony z internetu przy pomocy funkcji XMLHttpRequest()
GA
  • Rejestracja: dni
  • Ostatnio: dni
0

Mamy sobie kod:

Kopiuj
<!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!

Haskell
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4700
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.

MM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
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ą.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.