Dart:
ウェブページのダウンロード
どのようにして:
Dartはhttp
パッケージを提供しています。これは、HTTPリクエストを行うための人気のあるサードパーティライブラリです。ここにウェブページをダウンロードするためにそれを使用する基本的な例を示します:
まず、pubspec.yaml
にhttp
パッケージを追加します:
dependencies:
http: ^0.13.3
次に、パッケージをインポートし、それを使用してウェブページのコンテンツを取得します:
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('ページをダウンロードしました:');
print(response.body);
} else {
print('リクエストが失敗しました。ステータス:${response.statusCode}。');
}
}
サンプル出力(これはウェブページの内容に基づいて変わります):
ページをダウンロードしました:
<!doctype html>
<html>
<head>
<title>Example Domain</title>
...
</html>
クッキーを扱うや、ユーザーエージェントヘッダを設定するなど、より複雑なシナリオの場合、同じhttp
パッケージを使用しますが、リクエストに追加の設定を行います:
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('カスタムヘッダーでページをダウンロードしました:');
print(response.body);
} else {
print('リクエストが失敗しました。ステータス:${response.statusCode}。');
}
}
このようなヘッダーを使用することで、ブラウザのリクエストをより正確に模倣でき、特定の要件やスクレイピングに対する保護があるサイトを扱う際に特に役立ちます。