- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
ServletRequest.getRemoteAddr() 的 Javadoc没有提及返回的 IP 地址的格式。这在实现过滤器时很烦人。我们可以指望什么?有没有可以依赖的官方规范?谢谢。
最佳答案
让我们从 ServletRequest#getRemoteAddr()
javadoc 开始:
getRemoteAddr
java.lang.String getRemoteAddr()
Returns the Internet Protocol (IP) address of the client or last proxy that sent the request. For HTTP servlets, same as the value of the CGI variable
REMOTE_ADDR
.
(强调我的)
好吧,让我们阅读CGI REMOTE_ADDR
spec :
4.1.8. REMOTE_ADDR
The
REMOTE_ADDR
variable MUST be set to the network address of the client sending the request to the server.REMOTE_ADDR = hostnumber
hostnumber = ipv4-address | ipv6-address
ipv4-address = 1*3digit "." 1*3digit "." 1*3digit "." 1*3digit
ipv6-address = hexpart [ ":" ipv4-address ]
hexpart = hexseq | ( [ hexseq ] "::" [ hexseq ] )
hexseq = 1*4hex *( ":" 1*4hex )The format of an IPv6 address is described in RFC 3513 [15].
那里,你有所有可能的格式。
关于java - ServletRequest.getRemoteAddr()返回的IP格式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7589526/
今天我想给大家提出的问题是这样的: 请求到达 Controller (在 spring MVC 环境中),在该 Controller 中我想以某种方式拆分请求参数。我最初的方法是使用@ModelAtt
谁能解释一下为什么 ServletRequest.getParameterMap() 返回类型 Map ServletRequest.getParameter() 只返回类型 String 我不明白为
我正在使用 Filter和 doFilter -功能。我想知道正在请求哪个站点。一些函数给了我类似 /firstDirectoryInWebDirectory/lala.jsp 的东西将会是完美的。
我的环境 Jetty 8.1 public void service(ServletRequest request, ServletResponse response) throws ServletE
我有一个带有 Struts 1 操作的 java web 应用程序,其中包含以下代码: request.setAttribute("cat.sound", "meow"); 在我的 jsp 页面上,我
我正在尝试测试一个在 ServletRequest 上设置属性的 servlet。我使用 jbehave 与restTemplate 和apache httpClient 来向该servlet 发送请
我通过循环将转换为字符串值的整数分配给隐藏输入,其中 s1 是循环迭代器。 User Name Type Complain Status Date "value="
我正在尝试加密从我的 Web 应用程序发送到我的服务的 POST 正文请求。 加密是在过滤器中完成的。 我面临内容长度的问题,内容长度是在 JavaScript 中为 post 调用设置的,并且在加密
我想遍历 ServletRequest 中的所有可用属性。但是不知何故,在这样做时,并没有显示所有可用的属性。看起来是这样,因为当请求枚举中未显示的特定属性时,该值会正确打印。 迭代属性和显示特定属性
我需要在我的 Grails Controller 中更改 ServletRequest 对象的服务器名称。由于 serverName 是只读属性,我无法弄清楚如何执行此操作。 最佳答案 最正确的做法可
ServletRequest.getRemoteAddr() 的 Javadoc没有提及返回的 IP 地址的格式。这在实现过滤器时很烦人。我们可以指望什么?有没有可以依赖的官方规范?谢谢。 最佳答案
我有一个 ProxyServlet 来处理从我的应用程序发送到另一台服务器(使用 HTTP 基本身份验证)的请求,并且我想在 Servlet 触发实际请求之前手动添加 header ,以便用户无需输入
我从浏览器向网络服务器发出上传文件(大小很大)请求。 我在网上知道我可以使用 ServletRequest.getInputStream() 方法从输入流中读取它,然后逐行读取它以避免内存不足的问题。
我正在努力将现有应用程序从 Spring Boot 1.5 升级到 2.1。此应用程序作为 WAR 文件部署在现有 Tomcat 实例中。 我已经克服了大部分迁移障碍,但现在当 Thymeleaf 的
目前我正在准备 Java EE Web Component Developer 考试。 在考试学习指南和 Servlet API Java 文档中我都找到了那个方法 ServletRequest.ge
在 servlet 中遇到一些执行此操作的代码: while ((read = request.getInputStream().read(bytes)) != -1) buffer.writ
我正在进行 API 调用,该调用需要请求 IP 地址。我正在使用 ServletRequest.getRemoteAddr() 来获取请求的 IP。对于一位用户,getRemoteAddr() 返回的
我正在使用 ServletRequestListener 附加到新请求,获取 ServletRequest 对象并从中提取 cookie。 我注意到只有 HTTPServletRequest 有 co
我正在使用 Quartz 为 Web 应用程序安排后台任务。其中一些任务只是触发对同一 Web 应用程序的请求。 我想避免依赖于任何类型的网络设置(例如,如果从数据中心内发出,使用我自己的域名的请求可
我需要通过过滤器访问 session 变量。我什至不知道这是否可能。实际上,问题是javax.Servlet.Filter实现的doFilter方法类型是ServletRequest,而HttpSer
我是一名优秀的程序员,十分优秀!