HTTPパッケージの使用方法
導入
まずパッケージをインストールする。
dart pub add http実装
インポート
インポートする。
import 'dart:convert' as convert;
import 'package:http/http.dart' as http;同時にjsonを扱うためのconvertもインポートする。
関数
HTTPが絡む関数を作成する際は、基本的に非同期で作成し、戻り値はFutureオブジェクトにする。
Future<void> _handleHttp() async {
...
}まず、Urlオブジェクトを作成する。
var url = Uri.https('www.googleapis.com');次にリクエストをhttpパッケージのgetメソッドで送信する。
var response = await http.get(url)ここでヘッダを付け加えることもできる。
var response = await http.get(url, headers: { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'ja,en;q=0.9,en-GB;q=0.8,en-US;q=0.7', 'Authorization': 'Basic Og==', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'Host': '192.168.0.1', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0'
});最後に通信の可否をifで判断する。
if (response.statusCode == 200) {
var jsonResponse = convert.jsonDecode(response.body) as Map<String, dynamic>;
var itemCount = jsonResponse['totalItems'];
print('Number of books about http: $itemCount.');
} else {
print('Request failed with status: ${response.statusCode}.');
}
ステータスコード200番とは、通信が正しく行われて返答された場合の成功コードである。