.net的好低级别的http库。

问题描述:

我正在寻找.net的库,它可以让我完全控制通过网络发送的内容。我将使用它进行http实验。我知道c#的HttpWebRequest,我想尝试一些不同的东西,因为我无法控制所有的头文件(你有没有试过改变它发送的Keep-Alive头文件?),或者有选择地忽略证书错误。我想试试这个东西。我选择的语言是c#。.net的好低级别的http库。

任何人都可以推荐一个好的http库,它可以让我在需要的时候插入低级别的东西,但是当我不需要时,它不会给我带来负担吗?

我不认为你可以打败微软 在2月16日发布的新Web客户端,尽管它处于测试阶段。它当然准备好用于生产。你可以通过NuGet抓取它。该软件包被称为System.Net.Http。

“这个软件包提供了一个用于现代HTTP应用程序的编程接口,该程序包包括用于通过HTTP发送请求的HttpClient,以及HttpRequestMessage和HttpResponseMessage。”

新的HttpWebClient让你完全控制响应。您可以容易添加标题,因为这:

 var response = new HttpResponseMessage<MyModel>(model, HttpStatusCode.Ok); 
     response.Headers.Add("test", "test"); 

这里有一个很好的介绍了新的HttpClient,http://code.msdn.microsoft.com/Introduction-to-HttpClient-4a2d9cee。请记住这是新的 HttpWebClient。我已经使用了旧客户端,这真是令人愉快的使用方式。

有关许可的快速更新。 Web Api和它的HttpClient部分支持“上线”许可证,允许您使用它创建和部署生产应用程序。

更新

微软刚刚发布了CodePlex上的一些伟大的HttpClient的例子在http://aspnet.codeplex.com/SourceControl/list/changesets。如果您是HttpClient的新手,请检查它们。

+0

+1。 .NET 4.5的预览版/测试版中包含相同的客户端。它是用于从.NET语言进行HTTP的第一类API。 – 2012-03-10 22:41:01

+0

是的,它是.NET 4.5和MVC 4的一部分。 – Mark 2012-03-10 22:41:34

+1

HttpClient根本不是低级别的。实际上它是HttpWebRequest的一个包装。 – imlokesh 2015-12-11 10:03:32