黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

如何在 .NET 中使用 Flurl 高效處理Http請求

如何在 .net 中使用 flurl 高效處理http請求

 

簡介

官方介紹,flurl是一個現(xiàn)代的,流利的,支持異步的,可測試的,可移植的,url增強和http客戶端組件。

 

url構(gòu)建

現(xiàn)在有一個登錄的接口,地址如下:

https://www.some-api.com/login?name=lee&pwd=123456

我們在處理這個地址的時候,會拼接 login,然后拼接?號,然后拼接參數(shù),中間還要拼接& 得到最終的地址。

使用 flurl 構(gòu)建,首先需要通過 nuget 安裝 flurl 組件。

var url = "http://www.some-api.com"
         .appendpathsegment("login")
         .setqueryparams(new
         {
             name = "lee",
             pwd = "123456" 
         });  

這很簡單,這是最簡單的get請求,同樣的我們也可以使用 uri 的擴展方法

var url = new uri("http://www.some-api.com").appendpathsegment(...

 

http 增強

flurl 是模塊化的,所以還需要安裝 flurl.http

using flurl;
using flurl.http;

var result = await "http://www.some-api.com".appendpathsegment("login").getasync();

上面的代碼會發(fā)送一個get請求,并返回一個iflurlresponse,可以得到 statuscode,headers等,也可以通過 getstringasync 和 getjsonasync 得到響應(yīng)內(nèi)容。

如果只是想獲取響應(yīng)內(nèi)容,我們看看 flurl 有多簡單:

t poco = await "http://api.foo.com".getjsonasync<t>();
string text = await "http://site.com/readme.txt".getstringasync();
byte[] bytes = await "http://site.com/image.jpg".getbytesasync();
stream stream = await "http://site.com/music.mp3".getstreamasync();

post提交

await "http://api.foo.com".postjsonasync(new { a = 1, b = 2 });

動態(tài)類型 dynamic

dynamic d = await "http://api.foo.com".getjsonasync();

設(shè)置請求標(biāo)頭:

await url.withheader("accept", "text/plain").getjsonasync();

await url.withheaders(new { accept = "text/plain", user_agent = "flurl" }).getjsonasync();

基礎(chǔ)身份驗證

await url.withbasicauth("username", "password").getjsonasync();

oauth 2.0

await url.withoauthbearertoken("mytoken").getjsonasync();

表單提交

await "http://site.com/login".posturlencodedasync(new { 
  user = "user", 
  pass = "pass"
});

 

httpclient 管理

我們通常不會創(chuàng)建太多的 httpclient, 過多的連接會耗盡服務(wù)器資源,通常會拋出 socketexception 異常,大部分還是使用 httpclientfactory。

在 flurl 庫中,它是內(nèi)部管理 httpclient實例, 通常一個主機host,會創(chuàng)建一個httpclient,然后緩存來復(fù)用。

flurl 也很好的支持了ioc容器,你也可以在依賴注入中使用它。

 

總結(jié)

flurl 組件讓http操作變得更簡單易用,你可以在項目中嘗試使用它,其他的還有一些功能,可測試可配置等,你都可以在官網(wǎng)找到它的文檔

以上就是如何在 .net 中使用 flurl 高效處理http請求的詳細內(nèi)容,更多關(guān)于.net 中使用 flurl 處理http請求的資料請關(guān)注碩編程其它相關(guān)文章!

下一節(jié):.net 開源配置組件 agileconfig的使用簡介

asp.net編程技術(shù)

相關(guān)文章