Dart:
Ladda ner en webbsida
Hur man gör:
Dart tillhandahåller paketet http
, ett populärt tredjepartsbibliotek för att göra HTTP-begäran. Här är ett grundläggande exempel på hur man använder det för att ladda ner en webbsida:
Först, lägg till http
-paketet till din pubspec.yaml
:
beroenden:
http: ^0.13.3
Sedan importerar du paketet och använder det för att hämta innehållet på en webbsida:
import 'package:http/http.dart' as http;
Future<void> main() async {
var url = Uri.parse('http://example.com');
var response = await http.get(url);
if (response.statusCode == 200) {
print('Sida nedladdad:');
print(response.body);
} else {
print('Begäran misslyckades med status: ${response.statusCode}.');
}
}
Exempel på utdata (detta kommer att variera baserat på innehållet på webbsidan):
Sida nedladdad:
<!doctype html>
<html>
<head>
<title>Exempeldomän</title>
...
</html>
För mer komplexa scenarion, som att hantera cookies eller sätta användaragenthuvuden, skulle du använda samma http
-paket men med ytterligare konfigurationer till din begäran:
import 'package:http/http.dart' as http;
Future<void> main() async {
var headers = {
'User-Agent': 'YourCustomUserAgent/1.0',
'Cookie': 'namn=värde; namn2=värde2',
};
var url = Uri.parse('http://example.com');
var response = await http.get(url, headers: headers);
if (response.statusCode == 200) {
print('Sida nedladdad med anpassade huvuden:');
print(response.body);
} else {
print('Begäran misslyckades med status: ${response.statusCode}.');
}
}
Att använda huvuden som dessa kan efterlikna webbläsarebegäran mer exakt, vilket är särskilt användbart när det handlar om webbplatser som har specifika krav eller skydd mot skrapning.