当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp下比较全面的获取IP地址的代码

ASP
ASP实用大全-ASP服务器组件(4)
ASP实用大全-ASP服务器组件(5)
ASP实用大全-ASP服务器组件(6)
ASP实用大全-ASP服务器组件(7)
ASP 3.0高级编程(一)
ASP 3.0高级编程(二)
ASP 3.0高级编程(三)
ASP 3.0高级编程(四)
ASP 3.0高级编程(五)
ASP 3.0高级编程(六)
Asp Object 之:AddHeader
Asp Object 之:AppendToLog
Asp Object 之:BinaryRead
Asp Object 之:BinaryWrite
Asp Object 之:Buffer
Asp Object 之:CacheControl
Asp Object 之:Charset
Asp Object 之:Clear
Asp Object 之:ClientCertificate
Asp Object 之:ContentType

ASP 中的 asp下比较全面的获取IP地址的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 233 ::
收藏到网摘: n/a

最简单的用以下语句:
ip=request.ServerVariables("REMOTE_ADDR")
response.Write(ip)
但这种方法对代理服务器上网的就不准了,故比较全面的是用下面的方法:
复制代码 代码如下:

<%Private Function getIP()
Dim strIPAddr
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP = Trim(Mid(strIPAddr, 1, 30))
End Function
ip=getIP()
response.write(ip)
%>