我首先尝试在dart:html
中使用HTTPRequest,但很快意识到在控制台应用程序中这是不可能的。我已经做了一些Google搜索,但是找不到我要的内容(仅找到HTTP Server),有没有一种方法可以通过控制台应用程序发送正常的HTTP请求?
还是我必须使用套接字的方法来实现我自己的HTTP请求?
最佳答案
IO库中有一个HttpClient类,用于发出HTTP请求:
import 'dart:io';
void main() {
HttpClient client = new HttpClient();
client.getUrl(Uri.parse("http://www.dartlang.org/"))
.then((HttpClientRequest request) {
return request.close();
})
.then(HttpBodyHandler.processResponse)
.then((HttpClientResponseBody body) {
print(body.body);
});
}
更新:由于HttpClient相当低级,并且对于诸如此类的简单操作有些笨拙,因此Dart核心团队还制作了一个
pub
软件包 http
,它可以简化以下操作:import 'package:http/http.dart' as http;
void main() {
http.get('http://pub.dartlang.org/').then((response) {
print(response.body);
});
}
我发现
crypto
包是一个依赖项,所以我的pubspec.yaml
看起来像这样:name: app-name
dependencies:
http: any
crypto: any
关于http - 在Dart控制台应用程序中,是否存在不需要DOM访问的HTTP请求库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17197983/