一款C#开发的开源HTTP库HttpLib
,HttpLib
旨在简化HTTP请求的发起和处理。作为一个高效、易用的工具,HttpLib
提供了丰富的功能,帮助开发者在C#环境中快速实现HTTP通信。
HttpLib
在设计之初,就注重高效性和易用性。以下是该库的一些主要特点:
简单易用的API:HttpLib
提供了简洁直观的API,使开发者能够以最少的代码实现复杂的HTTP请求操作。无论是GET、POST还是其他HTTP方法,都能通过简单的方法调用完成。
灵活的配置选项:HttpLib
允许开发者灵活配置HTTP请求的各个方面,例如请求头、超时时间、代理设置等。这些配置选项使得开发者可以根据具体需求对HTTP请求进行细致的控制。
内置的错误处理机制:HttpLib
提供了完善的错误处理机制,能够捕获和处理各种HTTP错误和异常情况,并返回详细的错误信息,帮助开发者迅速定位和解决问题。
NuGet\Install-Package Tom.HttpLib -Version 3.0.2
Http.Get("https://www.google.com")Http.Post("https://www.google.com")Http.Put("https://www.google.com")Http.Delete("https://www.google.com")
data(new { test = "测试", test1 = "测试1" })data(new { wd = new string[] { "HttpLib", "POST数组参数" } })query(new { test = "POST下继续传递URL参数" })query(new Val("test", "POST下继续传递URL参数1"))
支持Class模型 POST Json 需要自己编程
,例如:
data(new MyModel{ id = "id参数", file=new Files(@"文件地址") })
string json = "{\"JSON\":\"json data\"}";datastr(json,"application/json")
data(new Files("文件地址"))file(@"文件地址")
header(new { Accept = "*/*", Token = "test" })
cache("缓存id")cache("缓存id",1)//有效期为1分钟
//请求之前处理before((HttpCore r) =>{
return true; //继续请求})//请求之后处理after((HttpCore r, HttpResponseMessage msg) =>{
return true; //继续下载数据})
//上传requestProgres(prog => {
Console.Write("{0}% 上传", prog);})//下载responseProgres((bytesSent, totalBytes) => {
if (totalBytes.HasValue)
{
double prog = (bytesSent * 1.0) / (totalBytes.Value * 1.0);
Console.Write("{0}% 下载", Math.Round(prog * 100.0, 1).ToString("N1"));
}})
Http.Get("https://test.chatgpt.com/local_doc_chat").request(msg =>{
if (msg == null) return;
if (msg.StartsWith("data: ")) msg = msg.Substring(5).Trim();
System.Diagnostics.Debug.WriteLine(msg);});
Config.fail += (HttpCore core, ResultResponse result)=>{
if (result.Exception == null) return;
Console.Write(err.GetType());
Console.Write(err.Message);};
HttpLib
在各种应用场景中都有广泛的应用,以下是几个典型的应用场景:
API调用:许多应用程序需要与外部API进行通信,例如获取天气信息、股票数据等。HttpLib
可以简化这些API调用的实现,使开发者能够专注于业务逻辑。
Web抓取:在数据分析和数据挖掘领域,开发者常常需要抓取网页内容进行分析。HttpLib
提供了方便的HTTP请求功能,可以轻松实现网页抓取。
测试与调试:开发和调试过程中,开发者需要频繁地发起HTTP请求进行测试。HttpLib
的简洁API使得编写测试代码变得非常简单,从而提高开发效率。
开源地址:https://github.com/EVA-SS/HttpLib