JSP获取客户端IP地址的问题
keer2345
2009-08-21
我用request.getRemoteAddr()来获取ip,可是通过互联网在客户端访问之后,显示出来的都是服务器的ip地址 。
但是如果我使用内网方式(http://192.168.1.1/index.jsp)访问的话,显示出来的就是本机的内网IP。 而我希望获取的是客户端在公网的IP地址。 这个问题怎么决绝呢, 老困扰着我。谢谢 |
|
changefeng
2009-09-18
这个我只知道 获得Ip地址 在我博客那里具体我也不是很清楚
|
|
7454103
2009-09-25
request.getRequestURL()
试试! |
|
7454103
2009-09-25
客户使用的协议是:
<% String protocol=request.getProtocol(); out.println(protocol);%> <BR> 获取接受客户提交信息的页面: <% String path=request.getServletPath(); out.println(path);%> <BR> 接受客户提交信息的长度: <% int length=request.getContentLength(); out.println(length);%> <BR> 客户提交信息的方式: <% String method=request.getMethod(); out.println(method); %> <BR> 获取HTTP头文件中User-Agent的值:: <% String header1=request.getHeader("User-Agent"); out.println(header1); %> <BR> 获取HTTP头文件中accept的值: <% String header2=request.getHeader("accept"); out.println(header2);%> <BR> 获取HTTP头文件中Host的值: <% String header3=request.getHeader("Host"); out.println(header3);%> <BR> 获取HTTP头文件中accept-encoding的值: <% String header4=request.getHeader("accept-encoding"); out.println(header4);%> <BR> 获取客户的IP地址: <% String IP=request.getRemoteAddr(); out.println(IP);%> <BR> 获取客户机的名称: <% String clientName=request.getRemoteHost(); out.println(clientName);%> <BR> 获取服务器的名称: <% String serverName=request.getServerName(); out.println(serverName);%> <BR> 获取服务器的端口号: <% int serverPort=request.getServerPort(); out.println(serverPort);%> <br> 获得服务器IP: |
|
liupesnap
2009-10-02
7454103 写道 客户使用的协议是:
<% String protocol=request.getProtocol(); out.println(protocol);%> <BR> 获取接受客户提交信息的页面: <% String path=request.getServletPath(); out.println(path);%> <BR> 接受客户提交信息的长度: <% int length=request.getContentLength(); out.println(length);%> <BR> 客户提交信息的方式: <% String method=request.getMethod(); out.println(method); %> <BR> 获取HTTP头文件中User-Agent的值:: <% String header1=request.getHeader("User-Agent"); out.println(header1); %> <BR> 获取HTTP头文件中accept的值: <% String header2=request.getHeader("accept"); out.println(header2);%> <BR> 获取HTTP头文件中Host的值: <% String header3=request.getHeader("Host"); out.println(header3);%> <BR> 获取HTTP头文件中accept-encoding的值: <% String header4=request.getHeader("accept-encoding"); out.println(header4);%> <BR> 获取客户的IP地址: <% String IP=request.getRemoteAddr(); out.println(IP);%> <BR> 获取客户机的名称: <% String clientName=request.getRemoteHost(); out.println(clientName);%> <BR> 获取服务器的名称: <% String serverName=request.getServerName(); out.println(serverName);%> <BR> 获取服务器的端口号: <% int serverPort=request.getServerPort(); out.println(serverPort);%> <br> 获得服务器IP: 如果是内网用户 那获取到得IP是不是这个内网的出口Ip? 我想到一种 能不能用js在页面加载时获取后 再用ajax传过来 没有试过这个方法哈 总之不可能用到像QQ那样的局域网穿透技术吧 呵呵 |