转载——使用Request对象获取Web获取当前请求的信息
0. 转载于:https://blog.csdn.net/weixin_34321977/article/details/86335499
1.Request简介
- Request对象是.net的内置对象之一,也是.net中常用的对象,用于获取客户端的信息,可以使用Request对象访问任何基于HTTP请求传递的所有信息。通过Request对象能够获得客户端发送给服务器的信息,不能将服务器端的数据发送给客户端的浏览器。
2.Request对象的作用
- 对于.net的内置对象之一Request,我将其在应用程序中所发挥的作用分为两种,第一种是通过Request对象,可以在服务器端获取当前访问该服务器的客户端(浏览器)的一些数据信息,第二种是在服务器端可以获取从html表单中用post或get方法传递的参数,当然也包括使用Ajax的post和get方法传递的参数。接下来我将结合实例对这两种作用进行一一概述。
通过Request,在服务器端获取客户端(浏览器)的数据信息
属性 | 含义 | 例子 |
---|---|---|
Request.UserHostAddress; | 获取客户端的主机IP地址 | |
Request.UserHostName; | 获取客户端的DNS名称 | |
Request.Url.Authority; | 获取DNS主机名或IP和端口号 | localhost:4035 |
Request.RawUrl: | 获取客户端请求的URL信息(不包括主机和端口) | /a/Default2.aspx |
Request.ApplicationPath: | 获取服务器上ASP.NET应用程序的虚拟路径。 | / |
Request.CurrentExecutionFilePath | 获取当前请求的虚拟路径。 | /Default2.aspx |
Request.Path: | 获取当前请求的虚拟路径。 | /Default2.aspx |
Request.PathInfo: | 取具有URL扩展名的资源的附加路径信息 | Http://so.com/page.html/tail,则值为 /tail |
Request.PhysicalPath: | 获取与请求的URL相对应的物理文件系统路径。 | E:\temp\Default2.aspx |
Request.Url : | 获取完整url(协议名+域名+站点名+文件名+参数) | http://www.baidu.com/a/b?c=1 |
Request.Url.Host : | 获取域名 (不包含端口) | www.baidu.com |
Request.Url.Query : | 获取参数(从?开始) | ?a=1&b=2 |
Request.Url.LocalPath: | 站点名+文件名 | /Default2.aspx |
Request.Url.AbsoluteUri: | 获取基本url(不包含参数) | http://localhost:8080/Default2.aspx |
Request.Url.AbsolutePath: | 站点名+文件名 | /Default2.aspx |
- 在使用Request时需要注意的是,比如想在另一个类库中获取当前request的信息,那么就需要将该Request通过参数传递到该类库中的某一个方法中,接收该参数的类型需使用HttpRequestBase。