C# http 请求 headers 带冒号 .Net 4.0
C# httprequest headers wiht a colon .Net 4.0
当使用 chrome 浏览器的 F12 工具检查第三方 api 时,我发现列出了几个有趣的 headers:
:authority:m.somedomain.com
:method:GET
:path:/api/somevalues
:scheme:https
还有一些headers我熟悉的,比如accept,accept-encoding等
我正在使用 .Net 4.0 发出 http/https 请求。尝试添加以冒号开头的 headers 时,第一项会引发错误:
httpRequest.Headers.Add(":authority", "m.somedomain.com");
httpRequest.Headers.Add(":method", "get");
httpRequest.Headers.Add(":path", sPath);
httpRequest.Headers.Add(":scheme", "https");
错误信息:
Specified value has invalid HTTP Header characters.
经过一番搜索,我找到了一篇关于 http/2 的文章。但是在 .NET 4.0 中只有 http/1.0 和 http/1.1 可用。
这是否意味着我需要升级到更新的 .NET 版本?
提前致谢。
可能吧。 http/2 从 .NET 版本 4.6.2 开始支持。
单击“项目”选项卡,然后单击底部的 select 属性。然后将您的 .NET 版本更改为 4.6.2。
此外,我 99.9% 确定您不应该在 header 中包含分号。
进一步:
httpRequest.Headers.Add(":method", "get");
request-method 不应定义在 header 中。照这样做。
httpRequest.Method = "GET";
该方案通常由您的 url 的前缀表示。即:
string webAddr = "https://www.google.com/";
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);
当使用 chrome 浏览器的 F12 工具检查第三方 api 时,我发现列出了几个有趣的 headers:
:authority:m.somedomain.com
:method:GET
:path:/api/somevalues
:scheme:https
还有一些headers我熟悉的,比如accept,accept-encoding等
我正在使用 .Net 4.0 发出 http/https 请求。尝试添加以冒号开头的 headers 时,第一项会引发错误:
httpRequest.Headers.Add(":authority", "m.somedomain.com");
httpRequest.Headers.Add(":method", "get");
httpRequest.Headers.Add(":path", sPath);
httpRequest.Headers.Add(":scheme", "https");
错误信息:
Specified value has invalid HTTP Header characters.
经过一番搜索,我找到了一篇关于 http/2 的文章。但是在 .NET 4.0 中只有 http/1.0 和 http/1.1 可用。
这是否意味着我需要升级到更新的 .NET 版本?
提前致谢。
可能吧。 http/2 从 .NET 版本 4.6.2 开始支持。
单击“项目”选项卡,然后单击底部的 select 属性。然后将您的 .NET 版本更改为 4.6.2。
此外,我 99.9% 确定您不应该在 header 中包含分号。
进一步:
httpRequest.Headers.Add(":method", "get");
request-method 不应定义在 header 中。照这样做。
httpRequest.Method = "GET";
该方案通常由您的 url 的前缀表示。即:
string webAddr = "https://www.google.com/";
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);