Dart:
Pobieranie strony internetowej
Jak to zrobić:
Dart oferuje pakiet http
, popularną bibliotekę stron trzecich do wykonywania żądań HTTP. Oto podstawowy przykład, jak go użyć do pobrania strony internetowej:
Najpierw dodaj pakiet http
do twojego pubspec.yaml
:
dependencies:
http: ^0.13.3
Następnie zaimportuj pakiet i użyj go do pobrania zawartości strony internetowej:
import 'package:http/http.dart' as http;
Future<void> main() async {
var url = Uri.parse('http://example.com');
var odpowiedz = await http.get(url);
if (odpowiedz.statusCode == 200) {
print('Strona pobrana:');
print(odpowiedz.body);
} else {
print('Żądanie nie powiodło się ze statusem: ${odpowiedz.statusCode}.');
}
}
Przykładowe wyjście (to będzie się różnić w zależności od zawartości strony internetowej):
Strona pobrana:
<!doctype html>
<html>
<head>
<title>Przykładowa Domena</title>
...
</html>
W bardziej złożonych scenariuszach, takich jak obsługa ciasteczek czy ustawianie nagłówków agencji użytkownika, używałbyś tego samego pakietu http
, ale z dodatkowymi konfiguracjami dla twojego żądania:
import 'package:http/http.dart' as http;
Future<void> main() async {
var naglowki = {
'User-Agent': 'YourCustomUserAgent/1.0',
'Cookie': 'nazwa=wartość; nazwa2=wartość2',
};
var url = Uri.parse('http://example.com');
var odpowiedz = await http.get(url, headers: naglowki);
if (odpowiedz.statusCode == 200) {
print('Strona pobrana z niestandardowymi nagłówkami:');
print(odpowiedz.body);
} else {
print('Żądanie nie powiodło się ze statusem: ${odpowiedz.statusCode}.');
}
}
Używanie nagłówków w ten sposób może dokładniej imitować żądania przeglądarki, co jest szczególnie użyteczne przy dealingu ze stronami, które mają specyficzne wymagania lub ochrony przed scrapingiem.