c# - .Net 的良好低级 http 库

标签 c# http httpwebrequest

<分区>

我正在寻找 .net 的库,它可以让我完全控制通过网络发送的内容。我打算将它用于 http 实验。我知道 c# 的 HttpWebRequest,我想尝试一些不同的东西,因为我无法控制所有 header (您是否曾尝试更改它发送的 Keep-Alive header 的大小写?)或有选择地忽略证书错误。我想试验一下这些东西。我选择的语言是 c#。

谁能推荐一个好的 http 库,它可以让我在需要时干预低级的东西,但在我不需要时不会给我带来负担?

最佳答案

我认为您无法击败 Microsoft 于 2 月 16 日发布的新 Web 客户端 尽管是测试版。它当然可以用于生产。您可以通过 NuGet 获取它。该包称为 System.Net.Http。

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

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

        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 部分支持“上线”许可证,允许您使用它构建和部署生产应用程序。

更新

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

关于c# - .Net 的良好低级 http 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9650660/

相关文章:

C# 动态设计时属性

java - 服务抛出未知主机异常 Android 应用程序

c# - 如何在不创建新列表的情况下检索 IEnumerable 的基础列表?

c# - 将两个 `List` 对象连接成抽象数据类型之一

http - 收到奇怪的 http 响应代码,但该网站实际上正在运行

java - Retrofit:如何发送带有常量字段的 POST 请求?

http - 伏地魔 HTTP 服务

c# - 如何使用 dotnet(nuget 包)httpclient 配置 TCP 连接数?

c# - 提高 .NET 中多线程 HttpWebRequests 的性能

c# - 无法访问已处置的对象对象名称: 'UserManager` 1'