您的位置:首页 > Web前端 > JavaScript

JSP实现获取网页访问者IP

2012-01-12 21:36 357 查看
JSP的办法

假如用代理服务器,request.getRemoteAddr(); 只能得到代理服务器地址,以下方法是得到正确所有ip的方法

在jsp声明这个函数

<%!public String getIpAddr(HttpServletRequestrequest) {

String ip =request.getHeader("x-forwarded-for");

if(ip ==null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){

ip =request.getHeader("Proxy-Client-IP");

}

if(ip ==null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){

ip =request.getHeader("WL-Proxy-Client-IP");

}

if(ip ==null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){

ip =request.getRemoteAddr();

}

returnip;

}%>

嵌入jsp网页中,然后用<%Stringip=getIpAddr(request);%>得到访问者ip

ip就是访问者的ip,你保存到数据库或者缓存中,就由你自己了

其他语言的资料

function GetClientIP()

IPaddress =Request.ServerVariables("HTTP_X_FORWARDED_FOR")

If IPaddress = "" Then IPaddress =Request.ServerVariables("REMOTE_ADDR")

GetClientIP=IPaddress

end function

response.write GetClientIP() 'IP

response.write now() '访问时间

Request.ServerVariables("HTTP_X_FORWARDED_FOR")这个是在有代理的情况下获取真实IP

加入没有代理

就用Request.ServerVariables("REMOTE_ADDR")

所以链接起来写就像楼上那样就可以了

JSP中可以使用request.getRemoteAddr()获得IP地址,request.getRemoteHost()获得主机名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: