LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

HTTP客户端库:Flurl

freeflydom
2024年7月19日 17:10 本文热度 835

项目介绍

Flurl是一个集现代性、流畅性、异步性、可测试性、可移植性于一身的URL构建器与HTTP客户端库。它提供了简洁的API,使得HTTP请求的发送与URL的构建变得极为简单与直观。无论是构建复杂的URL路径,还是设置查询参数、请求头或认证信息,Flurl都能以几乎零学习成本的方式实现。

项目源代码

 

项目使用

安装项目NuGet包

Flurl.Http 是一个构建在 Flurl 基础之上的 HTTP 客户端库。它提供了发送 HTTP 请求(GET、POST、PUT、DELETE 等)的简洁、流畅的 API:

Install-Package Flurl.Http

Flurl 是 Flurl.Http 的基础库,它主要关注于 URL 的构建和解析:

Install-Package Flurl

URL 构建器

using Flurl;

using Flurl.Http;


var resultData = await "https://some-api.com"

    .AppendPathSegment("endpoint") 

    .GetStringAsync();

    

var result = await "http://api.foo.com".PostJsonAsync(requestObj).ReceiveJson<T>();

var resultStr = await "http://api.foo.com/1".PatchJsonAsync(requestObj).ReceiveString();

var resultStr2 = await "http://api.foo.com/2".PutStringAsync("hello").ReceiveString();

var resp = await "http://api.foo.com".OptionsAsync();

await "http://api.foo.com".HeadAsync();

文件上传相关:

var resp = await "http://api.com".PostMultipartAsync(mp => mp

    .AddString("name", "hello!")                // individual string

    .AddStringParts(new {a = 1, b = 2})         // multiple strings

    .AddFile("file1", path1)                    // local file path

    .AddFile("file2", stream, "foo.txt")        // file stream

    .AddJson("json", new { foo = "x" })         // json

    .AddUrlEncoded("urlEnc", new { bar = "y" }) // URL-encoded                      

    .Add(content));                             // any HttpContent

下载文件:

// filename is optional here; it will default to the remote file name

var path = await "http://files.foo.com/image.jpg"

    .DownloadFileAsync("c:\\downloads", filename);

处理超时错误:

try {

    var result = await url.GetStringAsync();

}

catch (FlurlHttpTimeoutException) {

    // handle timeouts

}

catch (FlurlHttpException) {

    // handle error responses

}

项目源码地址

GitHub开源地址:https://github.com/tmenier/Flurl

在线文档地址:https://flurl.dev


转自https://www.cnblogs.com/Can-daydayup/p/18310536 作者追逐时光者


该文章在 2024/7/19 17:22:14 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved