第三方库 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

最新文章

  1. Jquery自定义扩展方法(一)
  2. Jquery_AjaxFileUpload插件的使用记录
  3. Gradle--ubuntu
  4. mac上卸载oracle jdk 1.8.0_31
  5. 1、C#入门第一课
  6. java的基本认识
  7. 利用Formdata实现form提交文件上传不跳转页面
  8. 11 java 反射机制
  9. Ubuntu安装JDK(tar.gz)
  10. HashMap和ConcurrentHashMap流程图
  11. 201521123109《java程序设计》第二周学习总结
  12. 微软发布Xamarin Live Player:Win10可开发iOS
  13. Your local changes to the following files would be overwritten by merge:
  14. .Net外包篇:我是如何看待外包的
  15. 使用Vmware CLI 6.5控制虚拟机,并做快照
  16. SQL的decode()函数
  17. find xss
  18. VBA操作word生成sql语句
  19. 纠正几个NANDFLASH很容易犯的错误【转】
  20. MySQL5.7 添加用户、删除用户与授权

热门文章

  1. hive介绍及架构设计
  2. zabbix4.2监控nginx
  3. 关于Istio 1.1,你所不知道的细节
  4. 走迷宫(bfs, 最短路)
  5. 个性化排序算法实践(二)——FFM算法
  6. .NET 中String 和StringBuilder 以及他们的区别
  7. jsp里导入java包的问题
  8. Python中json.dump() 和 json.dumps()的区别
  9. [Schematics] 1. Copy and Manipulate Template
  10. 180908 python 字符串内建函数