HTTPRequest を使用することから始めましたdart:html
が、コンソール アプリケーションではこれが不可能であることにすぐに気付きました。Google で検索しましたが、目的のものが見つかりません (HTTP サーバーしか見つかりません)。コンソール アプリケーションを介して通常の HTTP 要求を送信する方法はありますか?
それとも、ソケットを使用して独自の HTTP 要求を実装する方法に行く必要がありますか?
HTTPRequest を使用することから始めましたdart:html
が、コンソール アプリケーションではこれが不可能であることにすぐに気付きました。Google で検索しましたが、目的のものが見つかりません (HTTP サーバーしか見つかりません)。コンソール アプリケーションを介して通常の HTTP 要求を送信する方法はありますか?
それとも、ソケットを使用して独自の HTTP 要求を実装する方法に行く必要がありますか?
IO ライブラリには、HTTP リクエストを作成するためのHttpClientクラスがあります。
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
サーバー側SDK ライブラリの一部であるHttpClientを探します。dart:io
上記にリンクされている API ドキュメントからの例:
HttpClient client = new HttpClient();
client.getUrl(Uri.parse("http://www.example.com/"))
.then((HttpClientRequest request) {
// Prepare the request then call close on it to send it.
return request.close();
})
.then((HttpClientResponse response) {
// Process the response.
});