Request对象是HttpRequest类的一个实例,Request对象用于读取客户端在Web请求期间发送的HTTP值。Request对象常用的属性如下所示。
q QueryString:获取HTTP查询字符串变量的集合。
q Path:获取当前请求的虚拟路径。
q UserHostAddress:获取远程客户端IP主机的地址。
q Browser:获取有关正在请求的客户端的浏览器功能的信息。
1.QueryString:请求参数
QueryString属性是用来获取HTTP查询字符串变量的集合,通过QueryString属性能够获取页面传递的参数。在超链接中,往往需要从一个页面跳转到另外一个页面,跳转的页面需要获取HTTP的值来进行相应的操作,例如新闻页面的news.aspx?id=1。为了获取传递过来的id的值,则可以使用Request的QueryString属性,示例代码如下所示。
protected void Page_Load(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(Request.QueryString["id"])) //如果传递的ID值不为空
{
Label1.Text = Request.QueryString["id"]; //将传递的值赋予标签中
}
else
{
Label1.Text = "没有传递的值"; //提示没有传递的值
}
if (!String.IsNullOrEmpty(Request.QueryString["type"])) //如果传递的TYPE值不为空
{
Label2.Text = Request.QueryString["type"]; //获取传递的TYPE值
}
else
{
Label2.Text = "没有传递的值"; //无值时进行相应的编码
}
}
上述代码使用Request的QueryString属性来接受传递的HTTP的值,当通过访问页面路径为“http://localhost:29867/Default.aspx”时,默认传递的参数为空,因为其路径中没有对参数的访问。而当访问的页面路径为“http://localhost:29867/Default.aspx?id=1&type=QueryString&action=get”时,就可以从路径中看出该地址传递了三个参数,这三个参数和值分别为id=1、type=QueryString以及action=get。
2.Path:获取路径
通过使用Path的方法可以获取当前请求的虚拟路径,示例代码如下所示。
Label3.Text = Request.Path.ToString(); //获取请求路径
当在应用程序开发中使用Request.Path.ToString()时,就能够获取当前正在被请求的文件的虚拟路径的值,当需要对相应的文件进行操作时,可以使用Request.Path的信息进行判断。
3.UserHostAddress:获取IP记录
通过使用UserHostAddress的方法,可以获取远程客户端IP主机的地址,示例代码如下所示。
Label4.Text = Request.UserHostAddress; //获取客户端IP
在客户端主机IP统计和判断中,可以使用Request.UserHostAddress进行IP统计和判断。在有些系统中,需要对来访的IP进行筛选,使用Request.UserHostAddress就能够轻松的判断用户IP并进行筛选操作。
4.Browser:获取浏览器信息
通过使用Browser的方法,可以判断正在浏览网站的客户端的浏览器的版本,以及浏览器的一些信息,示例代码如下所示。
Label5.Text = Request.Browser.Type.ToString(); //获取浏览器信息
这些属性能够获取服务器和客户端的相应信息,也可以通过“?”号进行HTTP的值的传递和获取。
Request不仅包括这些常用的属性,还包括其他属性,例如用于获取当前目录在服务器虚拟主机中的绝对路径(如ApplicationPath)。另外,开发人员也可是使用Request中的Form属性进行页面中窗体的值集合的获取。