流畅的Flurl.Http[转]
流畅的Flurl.Http
https://flurl.dev/docs/testable-http/
注意:除了 URL 构建和解析之外的所有内容都需要安装Flurl.Http而不是基本的Flurl包。
考虑与 HTTP 服务交互的一种非常常见的方式是“我想构建一个 URL,然后调用它”。Flurl.Http 允许您非常简洁地表达:
using Flurl;
using Flurl.Http;
var result = await baseUrl.AppendPathSegment("endpoint").GetAsync();
上面的代码发送一个 HTTPGET
请求并返回一个IFlurlResponse
,您可以从中获取 , 等属性StatusCode
,并通过和Headers
等方法获取正文内容。GetStringAsync
GetJsonAsync<T>
但通常你只想直接跳到正文,而 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();