三,Request.ServerVariables("xxx")
其中ServerVariables就是服务器的环境变量了,该变量包含的内容比较多,我们同样先采用for循环进行遍历查看下。
1,server1.asp
<%for each i in request.servervariables%> <%=i%>: <%=request.servervariables(i)%> <hr> <%Next%> |
可以看到一大堆环境变量,其中还有没有值的,下面摘取几个比较常用的。
http_user_agent(客户端机器的相关环境):<%=request.servervariables("http_user_agent")%><br> http_accept_language(浏览语言):<%=request.servervariables("http_accept_language")%><br> CONTENT_LENGTH(客户端发出内容的长度):<%=request.servervariables("CONTENT_LENGTH")%><br> CONTENT_TYPE(内容的数据类型。如“text/html”。同附加信息 的查询一起使用,如 HTTP 查询 GET、POST 和 PUT):<%=request.servervariables("CONTENT_TYPE")%><br> LOCAL_ADDR(返回接受请求的服务器地址。如果在绑定多个IP地址的多宿主机器上查找请求所使用的地址时,这条变量非常重要):<%=request.servervariables("LOCAL_ADDR")%><br> REMOTE_ADDR(发出请求的远程主机client的 IP 地址):<%=request.servervariables("REMOTE_ADDR")%><br> SERVER_NAME(出现在自引用 URL 中的服务器主机名、DNS 化名 或 IP 地址):<%=request.servervariables("SERVER_NAME")%><br> SCRIPT_NAME(主机名后面的虚拟地址):<%=request.servervariables("SCRIPT_NAME")%><br> LOGON_USER(用户登录 Windows NT 的帐号):<%=request.servervariables("LOGON_USER")%><br> SERVER_PORT(发送请求的端口号):<%=request.servervariables("SERVER_PORT")%> |
根据以上的SERVER_NAME是提取的服务器主机名,SCRIPT_NAME是提取的虚拟地址,则两者的结合再加上http:// 是不是就是个完整的网址呢。
2,server2.asp
<%a=request.servervariables("server_name")%> <%b=request.servervariables("script_name")%> <%="http://"&a&b%> |
其中http:// 用引号引起,表示是一字符串,a和b分别是对应了具体值的变量,在ASP中进行这样的连接就是采用&号。
根据这个结果,我们是不是就可以随时提取动态的URL地址了。
再来看看query.asp,要求一定要保存为query.asp的,因为如果不是该文件名,程序指向就会出错。
但现在的这个文件就随便你保存为什么文件,都一样执行。
3,xxx.asp(随便你保存成什么文件)