`
aina5626
  • 浏览: 55472 次
  • 性别: 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,用户给一个请求,获取用户的ip,浏览器,操作系统等信息

    本主题将详细探讨如何在使用JSP(JavaServer Pages)和Servlet技术时,通过用户的HTTP请求获取并解析IP地址,同时提取浏览器和操作系统的相关信息。 首先,我们需要了解HTTP请求的基本结构。每当用户通过浏览器访问...

    Java获取登录用户的IP地址示例代码.rar

    在Java编程中,获取登录用户的IP地址是一项常见的需求,特别是在构建网络应用时,例如网站、服务器端服务等。用户在访问这些应用时,他们的设备会通过网络与服务器进行交互,而IP地址是识别用户网络位置的关键信息。...

    获取ip地址方法与示例

    JSP是Java的一种动态网页技术,可以通过内置的`<%= request.getRemoteAddr() %>`表达式来获取客户端的IP地址。然而,由于没有提供具体的文件内容,我们无法给出详细的代码分析。 总之,获取IP地址是网络编程的基础...

    java获取ipjava获取ipjava获取ipjava获取ipjava获取ip

    另外,如果你的程序运行在Web服务器上,可能需要通过Socket编程来获取客户端的IP地址。例如,当处理HTTP请求时,可以从ServletRequest对象中获取: ```java import javax.servlet.http.HttpServletRequest; import ...

    登录ip BS java

    在IT行业中,尤其是在开发Web应用时,获取用户登录的IP地址是一项常见的需求。"登录IP BS Java"这个标题和描述中提到的问题,主要是指在基于Browser-Server(BS)架构的Java Web应用中如何获取到当前登录用户的IP...

    java脚本开发根据客户IP获取IP的具体地理位置信息

    在Java脚本开发中,获取客户IP地址并进一步获取其具体地理位置信息是一项常见的需求,尤其在网站分析、个性化推荐和安全防护等领域。本教程将详细讲解如何实现这一功能。 首先,我们需要理解IP地址与地理位置之间的...

    显示来客IP地址代码

    本篇文章将深入探讨如何通过代码获取并显示用户的IP地址。 首先,我们需要了解IP地址的两种主要类型:IPv4和IPv6。IPv4是最常见的,它由四个十进制数字组成,每个数字介于0和255之间,之间用点分隔。IPv6则是为了...

    IP数据及查询

    这段代码依次检查了多个可能包含客户端IP的头部字段,最后如果都无法获取,则返回`HttpServletRequest`的`getRemoteAddr()`方法获取的IP地址,这个通常是服务器接收到的最直接的IP信息。 其次,纯真IP数据库是一个...

    C#获取真实IP地址实现方法

    最简单的获取IP地址的方法是通过`HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]`,但这个值只能获取到用户最后一层代理的IP地址,而非用户的实际IP。如果用户使用了多层代理,那么我们需要考虑`...

Global site tag (gtag.js) - Google Analytics