解决思路
关于服务器、客户端浏览器和访问者的请求信息,都保存在Request对象的ServerVariables集合中。
具体步骤
代码示例:
<%
Response.Write "你的IP:"&Request.ServerVariables("REMOTE_ADDR") &"<br>你的来路:"&Request.ServerVariables("HTTP_REFERER")
%>
注意:如果访问者是通过代理服务器访问,用REMOTE_ADDR参数取到的值只是代理服务器的IP,要获得访问者的真正IP,可以用HTTP_X_FORWARDED_FOR参数。但也并非所有通过代理服务器访问的都能获取到,有些获取到的值仍是代理服务器的IP,而当访问者没有通过代理服务器访问时,值为空。
技巧:要知道 ServerVariables 集合的更多变量参数,可以运行下面的代码:
<%
Dim Str
Str=""
for each i in Request.ServerVariables
Str=Str&"<b>"&i&"</b>:"&Request.ServerVariables(i)&"<br>"
next
Response.Write "<span style=""font:normal 12px Tahoma"">"&Str&"</span>"
%>
特别说明
ASP应用程序一般不会使用ServeVariables集合中存储的变量信息,但如果适当的使用,会让你开发出更好的响应用户请求的ASP程序。
REMOTE_ADDR 发出请求的客户的IP地址。
REMOTE_HOST 发出请求的客户的主机名,在服务器无法识别时,该值将等于REMOTE_ADDR的值。
HTTP_REFERER 存储用户重定向请求的URL。