从HttpServletRequest获取IP


public static String getClientIp(HttpServletRequest request) {        String address = request.getHeader("X-Real-IP");         if (org.apache.commons.lang3.StringUtils.isNotBlank(address)) {            return address;        }

       address = request.getHeader("X-Forwarded-For");         if (org.apache.commons.lang3.StringUtils.isNotBlank(address)) {            return address;        }

       address = request.getRemoteAddr();        if (org.apache.commons.lang3.StringUtils.isNotBlank(address)) {            return address;        }        return request.getRemoteHost();    }    
时间: 2025-01-15 22:43:56

从HttpServletRequest获取IP的相关文章

服务器使用nginx做代理,通过HttpServletRequest获取请求用户真实IP地址

首先,在nginx配置中添加如下配置 server { listen 80; server_name www.wenki.info; #要访问的域名 charset utf8; location / { proxy_pass http://wenki_info; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_fo

Java获取IP地址:request.getRemoteAddr()警惕(转)

原文出处:http://xiaoboss.iteye.com/blog/1181488 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemoteAddr()

【Servlet】Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地

这里之所以调用新浪api接口,主要是可以避免我们在本地存放一个ip归属地库, 同时,我们在本地要存放用户的ip,仅仅存放其ip就可以了,无须存放其归属地,节省一个字段. 如下图,写一个带有获取客户端IP地址的网页: 首先,在Eclipse的目录结构如下: 里面除了servlet的支持包之外,就一个.jsp与一个.java. 其中这里用到Servlet3.0,因此web.xml没有任何东西: <?xml version="1.0" encoding="UTF-8"

java获取ip地址

有很多应用需要取得来访者的IP地址,比如防止未授权用户或恶意用户的访问等.J2EE的SERVLET标准接口javax.servlet.http.HttpServletRequest提供了getRemoteAddr()方法,用来取得来访者的IP地址. request.getRemoteAddr()这种方法在大部分情况下获得的IP都是有效的.但是在客户通过向代理软件就不能获取到客户端的真实IP地址了.经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也

nginx代理,客户端获取ip为127.0.0.1处理方法

在nginx的配置文件中的location下添加 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; server { listen 80; server_name www.xxxx.com; locat

获取IP地址

获取本地计算机的IP地址 关键点 WSAStartup The Windows Sockets WSAStartup function initiates use of Ws2_32.dll by a process. int WSAStartup( WORDwVersionRequested, LPWSADATAlpWSAData ); 实现过程 #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") char* 

使用新浪IP库获取IP详细地址

<?php class Tool{ /** * 获取IP的归属地( 新浪IP库 ) * * @param $ip String IP地址:112.65.102.16 * @return Array */ static public function getIpCity($ip) { $ip = preg_replace("/\s/","",preg_replace("/\r\n/","",$ip)); $link = &

ARM-Linux配置DHCP自动获取IP地址

备注:内核版本:2.6.30.9busybox版本:1.15.2 PC Linux和开发板Linux的工作用户:root 1. 配置内核:[*] Networking support --->Networking options ---><*> Packet socket<*> Unix domain sockets[*] TCP/IP networking[*] IP: kernel level autoconfiguration[*] IP: DHCP suppor

DHCP获取IP地址过程中捕获的报文—三级网络总结(二)

上一篇文章主要说了一下知识点中的IP地址的考点,这一篇我打算说说DHCP获取IP地址过程中捕获的报文的这个考点,都是自己的理解,有错误欢迎指正. DHCP是应用层协议,UDP是传输层协议,IP是网络层协议,以太网是链路层协议.数据在网络上传输的时候要自顶向下逐层封装的,典型的DHCP过程是这样的: 1:客户机向服务器发送DHCP_DISCOVER报文,申请IP. 2:服务器向客户机返会DHCP_OFFER报文,指定一个将要分配的IP. 3:客户机向服务器发送DHCP_REQUEST报文,请求这个