request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
来源:互联网 发布:网络安全法明确了 编辑:程序博客网 时间:2024/05/16 23:34
request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
最近在进行web开发时,在jsp页面获取服务器ip时,遇到了request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1,这是为什么呢,照道理讲,应该是127.0.0.1才对,为什么这个获取的值变成了ipv6了呢,而且我发现这种情况只有在服务器和客户端都在同一台电脑上才会出现(例如用localhost访问的时候才会出现),后来上网查了查原因,原来是/etc/hosts这个东西作怪(在windows上应该是C:\Windows\System32\drivers\etc\hosts这个文件),只需要注释掉文件中的 # ::1 localhost 这一行即可解决问题。另外localhost这个文件很有用,这里你可以添加自己的条目,例如添加 192.168.0.212 myweb 这样子,在浏览器中原来只能使用192.168.0.212来访问的,并可以使用myweb来进行替换。
如果还不能解决,本机访问的时候用127.0.0.1或本机ip代替localhost即可解决
request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
最近在进行web开发时,在jsp页面获取服务器ip时,遇到了request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1,这是为什么呢,照道理讲,应该是127.0.0.1才对,为什么这个获取的值变成了ipv6了呢,而且我发现这种情况只有在服务器和客户端都在同一台电脑上才会出现(例如用localhost访问的时候才会出现),后来上网查了查原因,原来是/etc/hosts这个东西作怪(在windows上应该是C:\Windows\System32\drivers\etc\hosts这个文件),只需要注释掉文件中的 # ::1 localhost 这一行即可解决问题。另外localhost这个文件很有用,这里你可以添加自己的条目,例如添加 192.168.0.212 myweb 这样子,在浏览器中原来只能使用192.168.0.212来访问的,并可以使用myweb来进行替换。
public static String getConfig(String key) {if (propertiesLoader == null){propertiesLoader = new PropertiesLoader("config.properties");}return propertiesLoader.getProperty(key);}
public String getIpAddr(HttpServletRequest request) { 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(); } return ip.equals("0:0:0:0:0:0:0:1")?"127.0.0.1":ip; }
如果还不能解决,本机访问的时候用127.0.0.1或本机ip代替localhost即可解决
- request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
- request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
- request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
- request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
- 搞定request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1
- request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1
- request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1?
- request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1
- request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1
- request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1
- request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1
- 搞定request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1这个小问题
- 解决request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1这个小问题
- request.getRemoteAddr() 得到ip为0:0:0:0:0:0:0:1 的解决方法
- rquest.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1
- Tomcat Servlet request.getRemoteAddr()所得值为0:0:0:0:0:0:0:1
- Tomcat下使用Servlet的request.getRemoteAddr()所得ip值为0:0:0:0:0:0:0:1的问题
- HttpServletRequest调用getRemoteAddr获取IP返回0:0:0:0:0:0:0:1的问题
- Jenkins入门系列之——00答疑解惑
- SQL Server的ltrim()和rtrim()函数
- CPU核数跟多线程的关系
- iBatis简单入门教程
- 任务和特权级保护(一)
- request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
- Jenkins进阶系列之——15Maven获取Jenkins的Subversion的版本号
- 编码规范建议
- 剑指offer 面试题4 替换空格
- git
- QQ笔试
- 语音专题第三讲,语言模型
- u3d坐标系详解
- Jenkins进阶系列之——16一个完整的JENKINS下的ANT BUILD.XML文件