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即可解决
分享到:
相关推荐
然而,在使用如Apache、Squid等反向代理服务器的情况下,直接使用`request.getRemoteAddr()`获取到的往往是代理服务器自身的IP地址,而不是客户端的真实IP地址。 #### 获取客户端真实IP的基本原理 在不使用反向...
获取请求接口的真实ip 地址工具类。适合所有Java开发人员。针对接口的ip 地址的获取。
在Controller类获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用...
此时,如果直接使用`request.getRemoteAddr()`获取IP,则得到的是127.0.0.1或192.168.1.110这样的内部地址,而非客户端的真实IP。 #### 二、获取真实IP的第一种方法 为了获取客户端的真实IP地址,可以利用HTTP头部...
- `request.getHeader(String name)`: 根据指定的名字获取请求头的值。例如: - `request.getHeader("Accept")`: 获取客户端接受的内容类型。 - `request.getHeader("Host")`: 获取客户端请求的主机名。 - `...
我们知道在jsp里,获取网页客户端的ip地址的方法是:request.getremoteaddr(),这种方法在大部分情况下都是有效的。但是在通过了apache,squid等反向代理软件就不能获取到客户端的真实ip地址了。如果使用了反向代理...
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理...
JSP 内置对象:request 对象 JSP 内置对象是 Web 容器加载的一组类,它不像一般的 Java 对象那样用 new 去获取实例,而是可以直接在 JSP 页面使用的对象。隐式对象的名称是 JSP 的保留字。JSP 使用隐式对象来访问...
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将...
获取请求头中ip,不同方法:request.getRemoteAddr(),request.getHeader("x-forwarded-for")
1. `getAttribute(String name)`:获取指定名称的请求属性值。 2. `getAttributeNames()`:返回所有请求属性的名称列表。 3. `getCharacterEncoding()`:获取请求的字符编码。 4. `getContentLength()`:获取请求体...
此时,服务器端通过`request.getRemoteAddr()`获取的将是代理服务器的IP地址(如127.0.0.1或192.168.1.110),而不是客户端的真实IP地址。 为了解决这个问题,可以通过检查HTTP请求头部中的`X-Forwarded-For`字段来...
如果该字段不存在或为空,则使用 `request.getRemoteAddr()` 方法获取 IP 地址。 #### 三、处理特殊情况 在实际应用中,可能还会遇到一些特殊情况,例如 `X-Forwarded-For` 的值为 `unknown` 或者被多个 IP 地址...
案例二、完成登录错误信息的回显。 4.通过request获得请求行 获得客户端的请求方式:...注意:request获得客户机(客户端)的一些信息 request.getRemoteAddr() --- 获得访问的客户端IP地址 通过request获得请求头
在IT行业中,尤其是在Web开发领域,获取客户端的IP地址是一项常见的任务。这有助于跟踪用户行为、提供地域针对性的服务,甚至进行安全防护。本篇文章将详细解释如何在Java环境下,通过Servlet和Reactive编程模型来...
在JSP中,获取客户端IP地址的方法是使用request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是,如果使用了反向代理软件,如Apache、Squid等,request.getRemoteAddr() 方法获取的IP地址将不是客户端的...
1. getRootCause():获取异常的根本原因。 十二、UnavailableException类 UnavailableException类表示Servlet在指定时间内不可用,它提供了: 1. getServlet():获取引发异常的Servlet对象。 2. ...
例如,`X-Forwarded-For: 192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100`,这里客户端的真实IP应该是`192.168.1.110`。 需要注意的是,`X-Forwarded-For`头部可能存在被篡改的风险,因此在某些安全...
下面我们将详细介绍其中三个重要的内置对象:request、response和session。 ### 一、Request对象 Request对象是HttpServletRequest类的实例,用于封装客户端的请求信息。通过这个对象,开发者可以获取到客户端发送...
- `request.getParameterValues()`:获取同一参数名的所有值。 - `request.getParameterMap()`:获取所有参数的映射。 - `request.getHeader()`、`request.getHeaderNames()`和`request.getHeaders()`:处理HTTP请求...