asp.net中获取远程客户端主机的IP地址

asp.net中获取远程客户端主机的IP地址,第1张

没有问题,程序从上往下执行来看。

string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]

首先使用上面这句获取IP值,这是优先取得代理IP。

第一个IF是判断如果从这个代理IP方法没有获取到IP,则使用下一个获取办法:

result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]

这个是直接取客户端IP

第二个IF表示如果从代理IP和从客户端IP获取IP值都没有获取到的话,则使用下一个办法获取:

result = HttpContext.Current.Request.UserHostAddress

本函数也就是使用三种方法,用不同的优先级获取客户端的IP地址,因为现在上网方式很多,单纯的一种方法很难一次性的准确获取到IP,故而会有这些IP出现,确保能尽可能的获取到IP

汗,我也写多一点,给你一段功能更全面的代码,自己去试一试就知道了,决对自己写的代码.Function RSV(Types)'ServerVariables常用

select case Types

case "Method"'提交方式

RSV=request.ServerVariables("Request_Method")

case "HOST"'服务器地址,取得域名

RSV=request.ServerVariables("HTTP_HOST")

case "ComeUrl"'URL来源

RSV=request.ServerVariables("HTTP_REFERER")

case "IP"'发出请求的远程主机的IP地址

If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" Then

RSV = Request.ServerVariables("REMOTE_ADDR")

Else

RSV = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

End If

end select

end Function 调用只需要用<%=RSV("IP")%>就行了,这里面还有其他功能,你看注解吧!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/54731.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-26
下一篇2023-02-26

发表评论

登录后才能评论

评论列表(0条)

    保存