如何使用 C# 修改请求的 HTTP 标头?
我试图使用 C# 修改 HTTP 标头。我尝试操纵页面 preinit 事件上的 Request.Headers 。但是当我尝试对标头设置任何内容时,我收到 PlatformNotSupportedException。由于我们无法将新的 NameValueCollection 设置为 Reqeust.Headers,因此我尝试使用以下代码设置该值:
Request.Headers.Set(HttpRequestHeader.UserAgent.ToString(), "some value");
知道如何实现这一点吗?
I was trying to modify a HTTP Header using C#. I tried to manipulate the Request.Headers on Page preinit event. But when i try to set anything to the Headers, i get PlatformNotSupportedException. Since We can not set a new NameValueCollection to Reqeust.Headers, I tried to set the value using following code:
Request.Headers.Set(HttpRequestHeader.UserAgent.ToString(), "some value");
Any idea how can this be achieved?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个:
编辑:
这可能是你的原因:
http://bigjimindc.blogspot.com/2007/07/ms -kb928365-aspnet-requestheadersadd.html
其中有一个代码片段,它向 Request.Headers 添加一个新标头。也在 Windows 7 32 位操作系统上进行了验证。
但您可能想将行:替换
为:
编辑:
要替换现有标头值,请使用:
其中“Host”是标头名称。
Try this:
EDIT:
This could be your reason:
http://bigjimindc.blogspot.com/2007/07/ms-kb928365-aspnet-requestheadersadd.html
There is a code snippet in that, which adds a new header to the Request.Headers. Verified on Windows 7 32 bit OS too.
But you might want to replace the line:
with:
EDIT:
To replace the existing Header value, use:
where "Host" is a Header name.
从链接的博客添加完整的(工作)代码 - 以防博客消失
Adding the complete (working) code from the linked blog - incase that blog vanishes