问题 .Net的好低级http库[关闭]


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

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


9087
2018-03-10 22:16


起源



答案:


我认为你不能击败微软于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的新手,请查看它们。


11
2018-03-10 22:24



+1。这个客户端包含在.NET 4.5的预览版/ beta版中。它是从.NET语言执行HTTP的第一类API。 - Paul Batum
是的,它是.NET 4.5和MVC 4的一部分。 - Mark
HttpClient根本不是低级别的。实际上它是HttpWebRequest的包装器。 - imlokesh


答案:


我认为你不能击败微软于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的新手,请查看它们。


11
2018-03-10 22:24



+1。这个客户端包含在.NET 4.5的预览版/ beta版中。它是从.NET语言执行HTTP的第一类API。 - Paul Batum
是的,它是.NET 4.5和MVC 4的一部分。 - Mark
HttpClient根本不是低级别的。实际上它是HttpWebRequest的包装器。 - imlokesh