request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法

问题:

在近期开发的javaweb项目中,需要记录登录时的电脑ip地址和主机名,通过request.getRemoteAddr()和request.getRemoteHost()得到的值都是0:0:0:0:0:0:0:1。

原因:

0:0:0:0:0:0:0:1是属于ipv6,后来我又进行另一台电脑做测试,发现这种情况只有在服务器和客户端都在同一台电脑上才会出现(例如用localhost访问的时候才会出现),这是hosts配置文件的问题 。

解决方法:

注释掉文件中的 # ::1 localhost 这一行即可解决问题。网上这种方式可以,但我这样做不可以 
最有效的方式就是改变请求的ip,不要使用localhost:8080 
使用127.0.0.1:8080或者ip:8080。

时间: 2024-11-08 01:09:53

request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法的相关文章

NetBeans启动Tomcat报“'127.0.0.1' 不是内部或外部命令”启动失败的解决办法

http://blog.sina.com.cn/s/blog_709548200102vgy4.html ———————————————————————————————————————————————————————————————— 问题描述: 新安装的NetBeans8.0.2,安装过程中还一体化安装了内含的Tomcat8.0.15,打开NetBeans运行web工程失败,控制台输出错误信息如下: 启动 Tomcat 失败. *****\build-impl.xml:1164: 部署错误:

关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法

3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可. #yum install libffi-devel -y#make install若在安装前移除了/usr/bin下python的文件链接依赖,此时yum无法正常使用,需要自己下载相关软件包安装,为节省读者时间,放上链接 #wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm

.NET Core 3.0 System.Text.Json 和 Newtonsoft.Json 行为不一致问题及解决办法

行为不一致 .NET Core 3.0 新出了个内置的 JSON 库, 全名叫做尼古拉斯 System.Text.Json - 性能更高占用内存更少这都不是事... 对我来说, 很多或大或小的项目能少个第三方依赖项, 还能规避多个依赖项的依赖 Newtonsoft.Json 版本不一致的问题, 是件极美的事情. 但是, 结果总不是不如预期那么简单和美好, 简单测试了下, 有一些跟 Newtonsoft.Json 行为不一致的地方, 代码如下: using Microsoft.VisualStud

yii2.0 访问控制器下的方法时出现 Object Not Found! 解决办法

yii2.0  访问控制器下的方法时出现 Object Not Found! 时 可以查看(apache)  入口文件index.php 的同级有没有 .htaccess 文件 没有.htaccess文件  要添加该文件 内容: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php 保存后重启apache

系统从很老的V12.4.X升级到V15.0.4中个别报表构建中出现的错误及解决办法

今天在一个二次开发用户中发现,系统是从比较老的版本升级上来的.用户想修改一个报表的时候,提示有字段已经在datatable中存在. 经过排查:该报表所用到的业务表,在内容构建和预览的时候都正常.考虑到新版本增加了业务表的字段设置,所以专门点开这个业务表的"字段设置"查看,发现有个别字段中的字段名是空值. 把空值加上,保存后.再到报表设计中去查看,即可正常设计和使用该报表.目前版本可以按照这个进行调整.后续我们也将检查和测试. 原文地址:http://bbs.delit.cn/threa

使用django book2.0 时候,输入python manage.py sqlall books 报错解决办法

会出现这样的错:CommandError: App 'books' has migrations. Only the sqlmigrate and sqlflush commands can be used when an app has migrations. 这是因为旧版本和新的版本命令已经不一样 的问题. 我用的是django =1.8.3, 写好自己的model以后可以换成这样的命令来生成数据库表: python manage.py makemigrations books 然后:pyt

PyCharm ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory 解决办法

onchange监听input值变化及input隐藏后change事件不触发的原因与解决方法

1. onchange事件监听input值变化的使用方法: <input id="test"></input> $("input").change(function(){ alert("aaa"); } 2. 网页开发时,如果有input隐藏域,通过js改变隐藏域的值,无法触发change事件. 原因:onchange事件在内容改变(两次内容有可能还是相等的)且失去焦点时触发. 解决方法:在这种情况下,可以在改变隐藏域的值

获取登录IP为0:0:0:0:0:0:0:1的解决办法

jsp页面中用request.getRemoteAddr()获取的IP地址竟然为0:0:0:0:0:0:0:1 换台机器IP显示正常,这是为什么呢,照道理讲,应该是127.0.0.1才对,为什么这个获取的值变成了ipv6了呢,而且我发现这种情况只有在服务器和客户端都在同一台电脑上才会出现(例如用localhost访问的时候才会出现),后来上网查了查原因. 原来是/etc/hosts这个东西作怪(在windows上应该是C:\Windows\system32\drivers\etc\ hosts这