Flutter原滋原味的网络请求今天你撸了吗

今天看了一下Flutter官网的网络请求API,首先第一个是在Dart语言当中有个IO包,这个下面有个网络请工具类,

HttpClient,官网地址路径如下:

Flutter原滋原味的网络请求今天你撸了吗

HttpClient

HttpServerHttpClient类 提供HTTP服务器和HTTP客户端功能。

该的HttpServer类提供了实现的HTTP服务器的基本功能。对于某些更高级别的构建块,我们建议您尝试一下这个程序包,其中包含一组高级类,该类与该库中的HttpServer类一起使实现HTTP服务器更加容易。

今天我们讲解的是HttpClient工具类的用法,该工具类路径=Flutter-dart.io-HttpClient。

Flutter原滋原味的网络请求今天你撸了吗

HttpClient

使用HTTP协议从服务器接收内容(例如网页)的客户端。

HttpClient包含许多方法,可以将HttpClientRequest发送 到Http服务器并接收HttpClientResponse。例如,可以将get,getUrl,post和postUrl方法分别用于GET和POST请求。

发出简单的GET请求:一个例子

getUrl请求是一个两步骤的过程,由两个动作来完成请求。第一个动作就是HttpClientRequest完成时,这样就建立了网络连接,但未发送任何数据。在第一个方法的回调函数中,可以在请求上设置HTTP标头和参数。第一次写入请求对象或关闭调用都会将请求发送到服务器。

当从服务器收到HTTP响应时,第二个future(由close返回)以HttpClientResponse对象完成。该对象提供对响应的标头和正文的访问。该主体可以作为由HttpClientResponse实现的流使用。

<code>HttpClient client = new HttpClient();
client.getUrl(Uri.parse("http://www.example.com/"))
.then((HttpClientRequest request) {
// Optionally set up headers...
// Optionally write to the request object...
// Then call close.
...
return request.close();
})
.then((HttpClientResponse response) {
// Process the response.
...
});/<code>

HTTPS请求连接怎么做

HttpClient可以发出HTTPS请求,并使用TLS(SSL)安全网络协议连接到服务器。如果服务器的证书是由Mozilla编译的知名信任CA的默认列表中的根CA(证书颁发机构)签名的,则使用https:方案调用getUrl将自动进行。

HttpClient怎样关闭请求

当我们项目有多个请求同时发出,当网络很慢,如果用户返回当前页面,这个时候我们可以用HttpClient.close关闭当前网络请求。


这里我们简单介绍了Flutter当中网络请求的自带方法,当然第三方也出了很多关于网络请求的封装,目前官网自带的网络请求方法很简单,没有文件上传等功能,如果作为公司项目还是可以考虑一下第三方库,当然作为学习项目肯定是原滋原味舒服些,虽然官网没有提供这样的方法,但是我们自己也是可以用原生来封装,后续有时间我来写一篇这样的问题。


分享到:


相關文章: