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.