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當中網絡請求的自帶方法,當然第三方也出了很多關於網絡請求的封裝,目前官網自帶的網絡請求方法很簡單,沒有文件上傳等功能,如果作為公司項目還是可以考慮一下第三方庫,當然作為學習項目肯定是原滋原味舒服些,雖然官網沒有提供這樣的方法,但是我們自己也是可以用原生來封裝,後續有時間我來寫一篇這樣的問題。


分享到:


相關文章: