Flutter -------- Http库实现网络请求
2024-08-26 11:25:58
第三方库 http实现网络请求,包含get,post
http库文档:https://pub.dev/packages/http
1.添加依赖
dependencies:
http: ^0.12.0 #latest version
2.导入库
import 'package:http/http.dart' as http; //导入前需要配置
get
var data; _fetchGet() async {
Map newTitle;
final response =
await http.get('https://jsonplaceholder.typicode.com/posts/1');
final responseJson = json.decode(response.body);
print("请求成功 ---------- "+responseJson.toString());
newTitle = responseJson; setState(() {
data = newTitle['title'];
print("title====" + data);
});
}
post
void _httpPost() async {
//头部
var headers = Map<String, String>();
headers["loginSource"] = "IOS";
headers["useVersion"] = "3.1.0";
headers["isEncoded"] = "1";
headers["bundleId"] = "com.nongfadai.iospro";
headers["loginSource"] = "IOS";
headers["Content-Type"] = "application/json"; //参数 Map params = {'v': '1.0','month':'7','day':'25','key':'bd6e35a2691ae5bb8425c8631e475c2a'}; // 嵌套两层都可以,但是具体哪个好还有待确认????
var jsonParams = utf8.encode(json.encode(params));
// var jsonParams = json.encode(params); var httpClient = http.Client(); var uri = Uri.parse("http://api.juheapi.com/japi/toh"); http.Response response =
await httpClient.post(uri, body: jsonParams, headers: headers); if (response.statusCode == HttpStatus.ok) {
print('请求成功');
print(response.headers);//打印头部信息
print("post------${response.body}");
} else {
print('请求失败 code 码${response.statusCode}');
}
}
调用:
class HttpMain extends StatefulWidget {
@override
createState() => new HttpPage();
} class HttpPage extends State<HttpMain> { @override
Widget build(BuildContext context) {
_fetchGet();
_httpPost();
return new MaterialApp(
title: 'Fetch Data Example',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new Scaffold(
appBar: new AppBar(
title: new Text('Fetch Data Example'),
),
body: new Center(
child: new Text("$data"),
),
),
);
}
}
控制台
get
post
最新文章
- Jquery自定义扩展方法(一)
- Jquery_AjaxFileUpload插件的使用记录
- Gradle--ubuntu
- mac上卸载oracle jdk 1.8.0_31
- 1、C#入门第一课
- java的基本认识
- 利用Formdata实现form提交文件上传不跳转页面
- 11 java 反射机制
- Ubuntu安装JDK(tar.gz)
- HashMap和ConcurrentHashMap流程图
- 201521123109《java程序设计》第二周学习总结
- 微软发布Xamarin Live Player:Win10可开发iOS
- Your local changes to the following files would be overwritten by merge:
- .Net外包篇:我是如何看待外包的
- 使用Vmware CLI 6.5控制虚拟机,并做快照
- SQL的decode()函数
- find xss
- VBA操作word生成sql语句
- 纠正几个NANDFLASH很容易犯的错误【转】
- MySQL5.7 添加用户、删除用户与授权
热门文章
- hive介绍及架构设计
- zabbix4.2监控nginx
- 关于Istio 1.1,你所不知道的细节
- 走迷宫(bfs, 最短路)
- 个性化排序算法实践(二)——FFM算法
- .NET 中String 和StringBuilder 以及他们的区别
- jsp里导入java包的问题
- Python中json.dump() 和 json.dumps()的区别
- [Schematics] 1. Copy and Manipulate Template
- 180908 python 字符串内建函数