.Net的低级http库

Ars*_*ray 11 c# http httpwebrequest

我正在寻找.net的图书馆,让我可以完全控制通过网络发送的内容.我将把它用于http实验.我知道c#的HttpWebRequest,我想尝试不同的东西,因为我无法控制所有的标题(你有没有试过改变它发送的Keep-Alive标题的情况?)或有选择地忽略证书错误.我想试试这些东西.我选择的语言是c#.

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

Mar*_*ark 12

我不认为你可以击败2月16日微软发布的新网络客户端,虽然是测试形式.它当然可以用于生产.你可以通过NuGet抓住它.该软件包名为System.Net.Http.

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

新的HttpWebClient使您可以完全控制响应.您可以像这样简单地添加标题:

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

以下是对新HttpClient的一个很好的介绍,http://code.msdn.microsoft.com/Introduction-to-HttpClient-4a2d9cee.请记住,这是新的 HttpWebClient.我使用过旧的客户端,这真的很愉快.

有关许可的快速更新.Web Api及其HttpClient部分支持"上线"许可,允许您使用它构建和部署生产应用程序.

更新

微软刚刚在http://aspnet.codeplex.com/SourceControl/list/changesets上的CodePlex上发布了一些很棒的HttpClient示例.如果您是HttpClient的新手,请查看它们.

  • HttpClient 一点都不低级。实际上,它是 HttpWebRequest 的包装器。 (2认同)