Dart:
Een webpagina downloaden

Hoe te:

Dart biedt het http-pakket, een populaire externe bibliotheek voor het maken van HTTP-verzoeken. Hier is een basisvoorbeeld van hoe je het kunt gebruiken om een webpagina te downloaden:

Voeg eerst het http-pakket toe aan je pubspec.yaml:

dependencies:
  http: ^0.13.3

Importeer vervolgens het pakket en gebruik het om de inhoud van een webpagina op te halen:

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('Pagina gedownload:');
    print(response.body);
  } else {
    print('Verzoek mislukt met status: ${response.statusCode}.');
  }
}

Voorbeelduitvoer (dit zal variëren op basis van de inhoud van de webpagina):

Pagina gedownload:
<!doctype html>
<html>
<head>
    <title>Voorbeeld Domein</title>
...
</html>

Voor complexere scenario’s, zoals het omgaan met cookies of het instellen van user-agent headers, zou je hetzelfde http-pakket gebruiken, maar met extra configuraties voor je verzoek:

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

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

  if (response.statusCode == 200) {
    print('Pagina gedownload met aangepaste headers:');
    print(response.body);
  } else {
    print('Verzoek mislukt met status: ${response.statusCode}.');
  }
}

Het gebruik van dergelijke headers kan browserverzoeken nauwkeuriger nabootsen, wat bijzonder nuttig is bij het omgaan met sites die specifieke vereisten of beschermingen tegen scraping hebben.