`

request.getRemoteAddr() 的问题

    博客分类:
  • web
阅读更多

 

我们常常在做统计或者是一些web开发的时候常常会用到 request.getRemoteAddr() 来获取远程的IP地址。大家可能会遇到一些问题。 首先可能就是在使用这个方法返回的值不是我们想要的IP,而是 0:0:0:0:0:0:0:1 这么一串值。如果大家有了解TCP/IP协议的话,可能会知道这个是IPV6的协议。可惜我们是想需要的是类似127.0.0.1这样的IP地址。其实这种情况只有在你的服务器和你的客户端是同一台机器所导致的,只有在这种情况下才会这样。原因是因为 /etc/host 这个文件,这个文件中有这么两行:

 

#	127.0.0.1       localhost
#	::1             localhost

 

这两个其实就是1个是针对IPV6的,一个是针对IPV4的。如果是win7系统的话 默认会采用IPV6的 因此我们这个地方获取到的值是 0:0:0:0:0:0:0:1,XP则不会出现这个问题。 如果采用win7的解决办法是删除  # ::1 localhost 这行内容,或者是保持这一行为注释状态,并且取消  # 127.0.0.1       localhost 这一行的 #号注释。网上大部分文章都说的这里的处理办法是 取消这一行的注释。如果单单只是取消注释的话,表示采用IPV6的协议来连接,可能会导致你的数据库连接出错。

当然这个地方主要是win7 才会遇到的问题。因为只有win7是采用的IPV6。

分享到:
评论

相关推荐

    java获得客户端真实的ip地址

    我们知道在jsp里,获取网页客户端的ip地址的方法是:request.getremoteaddr(),这种方法在大部分情况下都是有效的。但是在通过了apache,squid等反向代理软件就不能获取到客户端的真实ip地址了。如果使用了反向代理...

    获取用户真实IP地址,不使用request.getRemoteAddr()的原因是有可能用户使用了代理软件方式避免真实IP地址

    获取请求接口的真实ip 地址工具类。适合所有Java开发人员。针对接口的ip 地址的获取。

    WEB15-request.rar

    案例二、完成登录错误信息的回显。 4.通过request获得请求行 获得客户端的请求方式:String getMethod() 获得请求的资源: ...request.getRemoteAddr() --- 获得访问的客户端IP地址 通过request获得请求头

    Java中使用HttpRequest获取用户真实IP地址

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理...

    Java获取客户端IP及Mac地址(同网段).rar

    在Controller类获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用...

    Java正确获取客户端真实IP方法整理.docx

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将...

    asp.net getRemoteAddr()与 getRemoteHost()的区别

    getRemoteAddr():获得客户端的IP地址 getRemoteHost():获得客户端电脑...//主机名 请问我在JSP页面中使用如下语句: System.out.println(“request.getRemoteAddr(): ” + request.getRemoteAddr()); System.out.pri

    org.apache.commons.lang3.StringUtils.jar

    java获取客户端ip(经过多次代理)提示StringUtils cannot be resolved 需要先 import org.apache.commons.lang3.StringUtils; /* 内含 common-lang3.jar commons-... return request.getRemoteAddr();  }

    获取访问地址中ip

    获取请求头中ip,不同方法:request.getRemoteAddr(),request.getHeader("x-forwarded-for")

    用Java来获取访问者真实的IP地址

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用...

    中创笔试9套题+答案

    A、request.getRemoteAddr() B、Request.ServerVariables("REMOTE_ADDR") (5)String a=new String("foo"); String b=new String("foo"); 请问System.out.println(a1= =b1)打印出什么?b A、true B、false C、1 ...

    Java获取客户端的真实IP地址

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件不能获取到客户端的真实IP地址了。像移动网关一样,iisforward这个...

    JSP如何获取客户端真实IP地址

    在JSP中,获取客户端IP的方法为:request.getRemoteAddr()。这种方法在大部分情况下都是有效的,但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将...

    获取对方的IP的方法

    如何获取对方的IP的方法,其实也不难的,代码如下: ip = request.getRemoteAddr();

    JSP 获取用户的真实IP两种实现方法详解

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用 ...

    java获取ip地址示例

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了

    java 获取客户端ip mac地址

    获取客户端ip地址( 这个必须从客户端传到...jsp页面下,很简单,request.getRemoteAddr() ; 因为系统的VIew层是用JSF来实现的,因此页面上没法直接获得类似request,在bean里做了个强制转换java 获取客户端ip mac地址

    获取客户端IP

    在很多应用下都可能有需要将用户的真实IP记录下来,这时就要获得用户的真实IP地址,在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等...

    jsp Request获取url信息的各种方法对比

    从Request对象中可以获取各种路径信息,以下例子:  假设请求的页面是index.jsp,项目是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下...String remoteAddress=request.getRemoteAddr(); String serv

    jsp获得本地及serverIP的简单方法

    //访问者的ip是:System.out.println(“ip是:” + request.getRemoteAddr()); 以上这篇jsp获得本地及serverIP的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

Global site tag (gtag.js) - Google Analytics