我在Dart编写命令行脚本。访问(和获取)HTTP资源的最简单方法是什么?
答案 0 :(得分:8)
使用http package轻松命令行访问HTTP资源。虽然核心dart:io
库具有HTTP客户端的原语(请参阅HttpClient),但http包使得GET,POST等更容易。
首先,将http添加到pubspec的依赖项中:
name: sample_app
description: My sample app.
dependencies:
http: any
安装包。在命令行或通过Dart编辑器运行:
pub install
导入包:
// inside your app
import 'package:http/http.dart' as http;
发出GET请求。 get()
函数返回Future
。
http.get('http://example.com/hugs').then((response) => print(response.body));
最佳做法是从使用get()
的函数返回Future:
Future getAndParse(String uri) {
return http.get('http://example.com/hugs')
.then((response) => JSON.parse(response.body));
}
不幸的是,我找不到任何正式的文档。所以我必须查看代码(确实有很好的评论):https://code.google.com/p/dart/source/browse/trunk/dart/pkg/http/lib/http.dart
答案 1 :(得分:0)
这是我能找到的最短代码
curl -sL -w "%{http_code} %{url_effective}\\n" "URL" -o /dev/null
这里,-s使curl的进度输出静音,-L跟随所有重定向,如前所述,-w使用自定义格式打印报告,-o将curl的HTML输出重定向到/ dev / null
如果您想要更多地自定义输出,可以使用以下其他特殊变量: