Dart:
Web-sivun lataaminen
Kuinka:
Dart tarjoaa http
-paketin, joka on suosittu kolmannen osapuolen kirjasto HTTP-pyyntöjen tekemiseen. Tässä on perusesimerkki siitä, kuinka sitä käytetään web-sivun lataamiseen:
Lisää ensin http
-paketti pubspec.yaml
-tiedostoosi:
dependencies:
http: ^0.13.3
Tämän jälkeen, tuo paketti ja käytä sitä web-sivun sisällön noutamiseen:
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('Sivu ladattu:');
print(response.body);
} else {
print('Pyyntö epäonnistui statuksella: ${response.statusCode}.');
}
}
Esimerkkitulostus (tämä vaihtelee web-sivun sisällön perusteella):
Sivu ladattu:
<!doctype html>
<html>
<head>
<title>Esimerkki Domain</title>
...
</html>
Monimutkaisemmissa tilanteissa, kuten evästeiden käsittelyssä tai user-agent -otsakkeiden asettamisessa, käyttäisit samaa http
-pakettia mutta lisäisit pyyntöösi lisäkonfiguraatioita:
import 'package:http/http.dart' as http;
Future<void> main() async {
var headers = {
'User-Agent': 'YourCustomUserAgent/1.0',
'Cookie': 'nimi=arvo; nimi2=arvo2',
};
var url = Uri.parse('http://example.com');
var response = await http.get(url, headers: headers);
if (response.statusCode == 200) {
print('Sivu ladattu mukautetuilla otsakkeilla:');
print(response.body);
} else {
print('Pyyntö epäonnistui statuksella: ${response.statusCode}.');
}
}
Tällaisten otsakkeiden käyttäminen voi matkia selaimen pyyntöjä tarkemmin, mikä on erityisen hyödyllistä, kun käsitellään sivustoja, joilla on erityisvaatimuksia tai suojausmekanismeja kaapimista vastaan.