一 概述
获取客户端Ip工具类,支持client 和 server之间有代理的情况
二 代码
import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; /** * 获取client ip */ public class IpUtil { private static final String[] CONTAINS_IP_HEADERS = { "X-Forwarded-For" , "Proxy-Client-IP" , "WL-Proxy-Client-IP" , "HTTP_CLIENT_IP" , "HTTP_X_FORWARDED_FOR" , "HTTP_X_FORWARDED" , "HTTP_X_CLUSTER_CLIENT_IP" , "HTTP_FORWARDED_FOR" , "HTTP_FORWARDED" ,"HTTP_VIA" ,"REMOTE_ADDR"}; /** * 获取client ip * @param request http 请求 * @return client ip (ipv4 或ipv6) */ public static String getClientIp(HttpServletRequest request) { String clientIp = getIpFromHttpHeader(request); if (StringUtils.isNotEmpty(clientIp)) { return clientIp; } return request.getRemoteAddr(); } //从http头获取ip 用于优先支持有proxy的情况 private static String getIpFromHttpHeader(HttpServletRequest request) { for (String header : CONTAINS_IP_HEADERS) { String clientIps = request.getHeader(header); if (StringUtils.isEmpty(clientIps)) { continue; } if (StringUtils.equalsIgnoreCase("unknown", clientIps)) { continue; } //根据代理协议,取第一为客户端ip if (!StringUtils.contains(clientIps, ",")) { return clientIps; } String[] ips = StringUtils.split(clientIps, ','); return ips[0]; } return null; } }
相关推荐
IpUtil工具类--通过request获取IP,通过IP获取地址(需要联网,调用淘宝的IP库)。使用场景:在网站开发记录用户增删改查日志的时候,往往需要记录操作人的IP地址,来准确的生成操作日志记录等
NULL 博文链接:https://fanshuyao.iteye.com/blog/2436489
获取客户端提交申请时的ip地址,例如用于微信支付的获取客户端ip,根据配置不不同,有可能ipv4或ipv6,当服务器在自己电脑上,做测试是,可以使用127.0.0.1替代localhost
一款免安装的sqlServer2008的客户端连接小工具,里面有详细的使用说明及汉化说明。和mysql 的 sqlyog一个性质。 注册: 运行registor.reg注册。 汉化:(软件运行保存文件目录不要使用中文目录) 1、运行“Manager....
sql server 网络客户端实用工具 内置配置文件 方法
免安装sqlserver客户端管理工具sqldbx,好用
挺好用的。简单方便,熟悉的界面,又找到原来在校生的感觉。
获取本地IP地址,获取本地Host名称,获取Linux下的IP地址,获取用户真实IP地址,get/post请求 相应的工具类
需要连接到远程的SQL server 数据库,但却需要在本地安装SQL SERVERSERVER ,使用起来很不方便,于是在网上查了看有没有独立的SQL server 客户端网络实用工具,但在网上都是说将dbnetlib.dll,dbnmpntw.dll,ntwdblib.DLL...
sql server 的客户端配置工具 解决sql server客户端无法连接sql server数据库的问题
内容概要:要工具类将接口请求解析以获取请求的IP地址信息。内含Ip2regionSearcher工具类的使用方式,可以通过使用Ip2regionSearcher将获取到的IP地址信息,进一步解析得到IP属地信息。 适应人群:有需要获取请求IP...
通过Request 解析ip地址以及MAC地址工具类
类似sqlserver的查询分析器,绿色免安装,方便在客户电脑上使用。
获取客户端IP 将IPv4地址转换成字节 获取主机名 从多级反向代理中获得第一个非unknown IP地址 检测参数是否在ip通配符里 校验ip是否符合过滤串规则
自动化探测客户端NAT类型的工具,包含服务器程序和客户端程序。语言:C#,框架:.NetCore。.zip
zookeeper客户端连接工具,亲测有效
支持数据库版本2000 2005 2008
失传已久的vmware server 客户端工具,比WEB页面功能更多,更好用。找了好久。
NULL 博文链接:https://ysj5125094.iteye.com/blog/1562118
工具类 httpUtils