流畅的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等方法获取正文内容。GetStringAsyncGetJsonAsync<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();
posted @ 2023-10-30 11:44  liaoyi  阅读(182)  评论(0编辑  收藏  举报