`
aina5626
  • 浏览: 53997 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

windows7系统下通过request.getRemoteAddr()获取ipv4地址

    博客分类:
  • java
阅读更多

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

方法一:

原因是因为 C:\Windows\System32\drivers\etc\hosts 这个文件,这个文件中有这么两行:

#   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。

方法二:

在本地的tomcat参数中添加:-Djava.net.preferIPv4Stack=true 让tomcat只支持ipV4.

文章转自 http://blog.csdn.net/lichaoandy/article/details/8468539

分享到:
评论

相关推荐

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

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

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

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

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

    在Controller类获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实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方法整理.docx

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

    java 获取客户端ip mac地址

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

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

    getRemoteAddr():获得客户端的IP地址 getRemoteHost():获得客户端电脑的名字,若失败,则返回客户端电脑的IP地址 InetAddress ia = InetAddress.getLocalHost(); String iad = ia.getHostAddress();//主机IP ...

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

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

    获取访问地址中ip

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

    java获取ip地址示例

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

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

    这种方法在大部分情况下都是有效的,但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:3306/ 的URL反向代理为http://www.8888.com/ 的...

    org.apache.commons.lang3.StringUtils.jar

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

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

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

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

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

    获取客户端IP

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

    获取对方的IP的方法

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

    中创笔试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 ...

    JSP 获取真实IP地址的代码

    如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP。 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到...

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

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

Global site tag (gtag.js) - Google Analytics