flutter如何使用http库
“刚接触Flutter开发,想用http库发送网络请求但不太清楚具体步骤。请问在Flutter中如何使用http库实现GET/POST请求?需要添加哪些依赖?能否给一个简单的代码示例说明如何发送请求并处理响应数据?”
2 回复
Flutter使用http库需先添加依赖:http: ^0.13.4。然后导入package:http/http.dart,使用get()或post()方法发送请求,处理返回的Response对象即可。
更多关于flutter如何使用http库的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在 Flutter 中使用 http 库发送网络请求的步骤如下:
1. 添加依赖
在 pubspec.yaml 文件中添加 http 库依赖:
dependencies:
http: ^1.1.0
运行 flutter pub get 安装依赖。
2. 导入包
在 Dart 文件中导入:
import 'package:http/http.dart' as http;
3. 发送 HTTP 请求
支持 GET、POST、PUT、DELETE 等方法。
GET 请求示例:
Future<void> fetchData() async {
final response = await http.get(Uri.parse('https://jsonplaceholder.typicode.com/posts/1'));
if (response.statusCode == 200) {
print('响应数据:${response.body}');
} else {
print('请求失败:${response.statusCode}');
}
}
POST 请求示例:
Future<void> postData() async {
final response = await http.post(
Uri.parse('https://jsonplaceholder.typicode.com/posts'),
headers: {'Content-Type': 'application/json'},
body: jsonEncode({'title': 'Flutter HTTP', 'body': '测试内容'}),
);
print('响应状态:${response.statusCode}');
}
4. 处理响应
response.body:响应体(字符串格式)。response.statusCode:HTTP 状态码(如 200 表示成功)。- 使用
jsonDecode()解析 JSON 数据(需导入dart:convert)。
5. 错误处理
使用 try-catch 捕获异常:
try {
final response = await http.get(Uri.parse('https://invalid.url'));
} catch (e) {
print('请求异常:$e');
}
完整示例
import 'package:http/http.dart' as http;
import 'dart:convert';
Future<void> main() async {
final response = await http.get(Uri.parse('https://jsonplaceholder.typicode.com/posts/1'));
if (response.statusCode == 200) {
final data = jsonDecode(response.body);
print('帖子标题:${data['title']}');
} else {
print('请求失败');
}
}
注意事项
- 在
android/app/src/main/AndroidManifest.xml中确保已添加网络权限:<uses-permission android:name="android.permission.INTERNET" /> - iOS 默认支持网络请求,无需额外配置。
通过以上步骤即可在 Flutter 中完成基本的 HTTP 请求操作。

