我没有回答我的问题。
当我写作
var name=Request["Key"]
我知道我可以获得Get
或Post
的值。
我可以获得请求标头值,如下所示吗?
var name=Request.Headers["Key"]
与
相同var name=Request["Key"]
或者有什么不同。
我创建了一个页面并写了这个
WebRequest request = WebRequest.Create("http://localhost:54018/default.aspx");
request.Headers.Add("HTTP_USER", "shkehar");
WebResponse response = request.GetResponse();
并在默认页面上如果我写这个
Request.Headers["HTTP_USER"]
我得到了值
当我说
Request["HTTP_USER"]
我得到null
值
答案 0 :(得分:1)
简短回答:是的,你可以。
更长的版本:
HttpRequest.Headers
是System.Collections.Specialized.NameValueCollection
的实例,NameValueCollection
有[]
运算符,因此您可以输入以下内容获取标头值:
var name = Request.Headers["Key"];
修改强>
编辑完原始答案后,我的答案应该是:不,你不能。
放置的文档here说:要从QueryString,Form,Cookies或ServerVariables集合访问数据,您可以编写Request [" key"] 。
所以声明:
var user = Request.Headers["HTTP_USER"];
不等同于:
var user = Request["HTTP_USER"];