在ASP.NET编程中经常需要用Request获取url的有关信息,Request中有多种方法获取url信息,但我经常忘了各种方法的具体作用,今天我就写了个测试程序,将各种方法得到的结果列出来,以后用时直接参考一下就行了。
测试的url地址是[url]http://www.test.com/testweb/default.aspx[/url], 结果如下:
Request.ApplicationPath: /testweb
Request.CurrentExecutionFilePath: /testweb/default.aspx
Request.FilePath: /testweb/default.aspx
Request.Path: /testweb/default.aspx
Request.PathInfo:
Request.PhysicalApplicationPath: E:\WWW\testweb\ 获取当前正在执行的服务器应用程序的根目录的物理文件系统路径。
Request.PhysicalPath: E:\WWW\testweb\default.aspx
Request.RawUrl: /testweb/default.aspx
Request.Url.AbsolutePath: /testweb/default.aspx
Request.Url.AbsoluteUri: [url]http://www.test.com/testweb/default.aspx[/url]
Request.Url.Host: [url]www.test.com[/url]
Request.Url.LocalPath: /testweb/default.aspx
Request对象功能是从客户端得到数据,
常用的三种取得数据的方法是:Request.Form、Request.QueryString, Request。其第三种是前两种的一个缩写,可以取代前两种情况。而前两种主要对应的Form提交时的两种不同的提交方法:分别是Post方法和Get 方法。
Request 对象的属性和方法比较多,常用的几个为:UserAgent 传回客户端浏览器的版本信息,UserHostAddress 传回远方客户端机器的主机IP 地址,UserHostName 传回远方客户端机器的DNS 名称,PhysicalApplicationPath 传回目前请求网页在Server 端的真实路径。
从浏览器获取数据
利用Request方法,可以读取其他页面提交过来的数据。
提交的数据有两种形式:一种是通过Form表单提交过来,另一种是通过超级链接后面的参数提交过来,两种方式都可以利用Request对象读取。
<%@ Page Language="C#"%>
<%
string strUserName = Request["Name"];
string strUserLove = Request["Love"];
%>
姓名:<%=strUserName%>
爱好:<%=strUserLove%>
<form action="" method="post">
<P>姓名:<input type="TEXT" size="20" name="Name" ></P>
<P>兴趣:<input type="TEXT" size="20" name="Love" ></P>
<P><input type="submit" value="提交"></P>
</form>
得到客户端的信息
利用Request对象内置的属性,可以得到一些客户端的信息,比如客户端浏览器版本和客户端地址等等
<%@ Page Language="C#"%>
客户端浏览器:<%=Request.UserAgent %>
客户端IP地址:<%=Request.UserHostAddress %>
当前文件服务端物理路径:<%=Request.PhysicalApplicationPath %>