Herunterladen einer Webseite

Dart:
Herunterladen einer Webseite

Wie:

Dart stellt das http-Paket bereit, eine beliebte Drittanbieterbibliothek für HTTP-Anfragen. Hier ist ein grundlegendes Beispiel, wie man es verwendet, um eine Webseite herunterzuladen:

Fügen Sie zunächst das http-Paket zu Ihrer pubspec.yaml hinzu:

dependencies:
  http: ^0.13.3

Dann importieren Sie das Paket und verwenden es, um den Inhalt einer Webseite abzurufen:

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('Seite heruntergeladen:');
    print(response.body);
  } else {
    print('Anfrage fehlgeschlagen mit Status: ${response.statusCode}.');
  }
}

Beispielausgabe (dies wird basierend auf dem Inhalt der Webseite variieren):

Seite heruntergeladen:
<!doctype html>
<html>
<head>
    <title>Beispiel-Domain</title>
...
</html>

Für komplexere Szenarien, wie das Verwalten von Cookies oder das Setzen von User-Agent-Headern, würden Sie dasselbe http-Paket verwenden, aber mit zusätzlichen Konfigurationen für Ihre Anfrage:

import 'package:http/http.dart' as http;

Future<void> main() async {
  var headers = {
    'User-Agent': 'IhrEigenerUserAgent/1.0',
    'Cookie': 'name=wert; name2=wert2',
  };
  var url = Uri.parse('http://example.com');
  var response = await http.get(url, headers: headers);

  if (response.statusCode == 200) {
    print('Seite mit benutzerdefinierten Headern heruntergeladen:');
    print(response.body);
  } else {
    print('Anfrage fehlgeschlagen mit Status: ${response.statusCode}.');
  }
}

Das Verwenden solcher Header kann Browseranfragen genauer nachahmen, was besonders nützlich ist, wenn man mit Seiten zu tun hat, die spezifische Anforderungen oder Schutzmaßnahmen gegen Scraping haben.