Dart:
下载网页

如何操作:

Dart提供了http包,这是一个用于进行HTTP请求的流行的第三方库。这里有一个使用它来下载网页的基本示例:

首先,将http包添加到你的pubspec.yaml中:

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>示例域名</title>
...
</html>

对于更复杂的场景,如处理cookies或设置用户代理头,你会使用相同的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}。');
  }
}

使用这样的头信息可以更准确地模拟浏览器请求,这在处理有特定要求或防止抓取保护的网站时特别有用。