Flutter 项目实战 Dio网络请求 四

GET 请求

向服务端发起请求用于从服务端读取数据 。浏览器发出的GET只能由一个url触发。GET上要在url之外带一些参数就只能依靠url上附带querystring。

使用场景

例如: https://host:port/path?querystring=value1&queryString=value2

https://tieba.baidu.com/f?ie=utf-8&kw=%E5%A4%A7%E4%BD%AC&fr=search

https://tieba.baidu.com/f?ie=utf-8&kw=%E5%A4%A7%E7%A5%9E&fr=search

https://tieba.baidu.com/f?ie=utf-8&kw=%E7%BE%8E%E5%A5%B3&fr=search

https://tieba.baidu.com/f?ie=utf-8&kw=%E5%B8%85%E5%93%A5&fr=search

class MyHomePage extends StatefulWidget {

MyHomePage({Key? key, required this.title}) : super(key: key);

final String title;

@override

_MyHomePageState createState() => _MyHomePageState();

}

class _MyHomePageState extends State {

void _testDioHeadReq() async {

Response _headReq = await Dio().get(‘https://www.baidu.com/’);

print(‘HEAD请求获取到到 数据:${_headReq.data}\n’);

print(‘HEAD请求获取到到 extra:${_headReq.extra}\n’);

print(‘HEAD请求获取到到 headers:${_headReq.headers}\n’);

print(‘HEAD请求获取到到 isRedirect:${_headReq.isRedirect}\n’);

print(‘HEAD请求获取到到 statusCode:${_headReq.statusCode}\n’);

print(‘HEAD请求获取到到 statusMessage:${_headReq.statusMessage}\n’);

}

@override

Widget build(BuildContext context) {

return Scaffold(

appBar: AppBar(

title: Text(widget.title),

),

floatingActionButton: FloatingActionButton(

onPressed: _testDioHeadReq,

tooltip: ‘TestDioHeadReq’,

child: Icon(Icons.add),

),

);

}

}

HEAD

向服务端发起请求用于从服务端读取数据 。与GET的区别就是不会获取到数据 (响应体) , 只会获取到请求头 (header) 、状态码 (statusCode)、提示信息 (statusMessage) 等 响应头

HEAD请求常常被忽略,但是能提供很多有用的信息,特别是在有限的速度和带宽下。主要有以下特点:只请求资源的首部 、检查超链接的有效性 、检查网页是否被修改

多用于自动搜索机器人获取网页的标志信息,获取rss种子信息,或者传递安全认证信息等

Response _headReq = await Dio().head(‘https://www.baidu.com/’);

print(‘HEAD请求获取到到 数据:${_headReq.data}\n’);

print(‘HEAD请求获取到到 extra:${_headReq.extra}\n’);

print(‘HEAD请求获取到到 headers:${_headReq.headers}\n’);

print(‘HEAD请求获取到到 isRedirect:${_headReq.isRedirect}\n’);

print(‘HEAD请求获取到到 statusCode:${_headReq.statusCode}\n’);

print(‘HEAD请求获取到到 statusMessage:${_headReq.statusMessage}\n’);

POS

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值