在服务器收到客户端的请求后,HttpRuntime将会创建一个HttpRequest对象的实例,这个实例就是我们在页面中常用的Request.
在Request这个对象中,提供的大量的属性以方便我们获取到请求的内容,本章我们一一讲解这些属性的意思。
在客户端的请求内容中,主要包含三部分内容。请求行,请求头部,请求主体,在下面的属性中,我们可一一获取到这些信息。
Request.RequestType--获取客户端的请求方式,即Get或Post:GET
Request.HttpMethod--获取客户端使用的 HTTP 数据传输方法(如 GET、POST 或 HEAD):GET
Request.RawUrl--获取当前请求的原始URL:/WebForm1.aspx?id=a
Request.Url--获取有关当前请求的 URL 的信息:http://localhost:10693/WebForm1.aspx?id=a
Request.UrlReferrer--获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL:
Request.FilePath--获取当前请求的虚拟路径:/WebForm1.aspx
Request.CurrentExecutionFilePath--获取当前请求的虚拟路径:/WebForm1.aspx
Request.Path--获取当前请求的虚拟路径:/WebForm1.aspx
Request.AppRelativeCurrentExecutionFilePath--获取应用程序根的虚拟路径,并通过对应用程序根使用波形符 (~) 表示法(例如,以“~/page.aspx”的形式)使该路径成为相对路径:~/WebForm1.aspx
Request.PhysicalPath--获取与请求的 URL 相对应的物理文件系统路径:E:\WebApplication1\WebApplication1\WebForm1.aspx
Request.QueryString--获取 HTTP 查询字符串变量集合:id=a
Request.AcceptTypes--获取客户端支持的 MIME 接受类型的字符串数组:*/*
Request.Headers--获取 HTTP 头集合:(结果略)
Request.Form--获取窗体变量集合:(结果略)
Request.Form--获取客户端发送的 cookie 的集合:(结果略)
Request.ServerVariables--获取 Web 服务器变量的集合:(结果略)
Request.FilePat--获取当前请求的虚拟路径:/WebForm1.aspx
Request.Params--获取 System.Web.HttpRequest.QueryString、System.Web.HttpRequest.Form、System.Web.HttpRequest.ServerVariables和 System.Web.HttpRequest.Cookies 项的组合集合。:(结果略)
下面输出主体部分:
Request.ContentEncoding--获取或设置实体主体的字符集:System.Text.UTF8Encoding
Request.ContentLength--指定客户端发送的内容长度(以字节计):0
Request.ContentType--获取或设置传入请求的 MIME 内容类型:
Request.Browser--获取或设置有关正在请求的客户端的浏览器功能的信息:(结果略)
Request.UserAgent--获取客户端浏览器的原始用户代理信息:(结果略)
Request.UserHostAddress--获取远程客户端的IP主机地址:127.0.0.1
Request.UserHostName--获取远程客户端的DNS名称:127.0.0.1
Request.UserLanguages--获取客户端语言首选项的排序字符串数组:zh-cn
注意:1,RawUrl与Url的区别是:RawUrl不包含主机信息和端口号:
比如Url地址:http:www.lmwlove.com/default.aspx,那么RawUrl就是/default.aspx
2,属性Headers,Params,Form,ServerVariables的返回类型都为NameValueCollection,说明这些属性都返回键/值对形式的数组,该数组中包含更多请求信息,具体请自行查询。
关于Request.Browser,请参考本站:
在Asp.net中获取客户端的浏览器信息&