首页 > 其他分享 >获取客户端(访问者)ip地址

获取客户端(访问者)ip地址

时间:2023-05-16 14:34:10浏览次数:27  
标签:ip getHeader 访问者 request equalsIgnoreCase unknown null 客户端

 1  /**
 2      * 获取客户端ip地址(可以穿透代理)
 3      4      * @param request
 5      * @return
 6      */
 7 
 8     @RequestMapping("getRemoteAddr")
 9     public String getRemoteAddr(HttpServletRequest request) {
10         String ip = request.getHeader("X-Forwarded-For");
11         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
12             ip = request.getHeader("Proxy-Client-IP");
13         }
14         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
15             ip = request.getHeader("WL-Proxy-Client-IP");
16         }
17         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
18             ip = request.getHeader("HTTP_CLIENT_IP");
19         }
20         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
21             ip = request.getHeader("HTTP_X_FORWARDED_FOR");
22         }
23         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
24             ip = request.getRemoteAddr();
25         }
26         return ip;
27     }

 

标签:ip,getHeader,访问者,request,equalsIgnoreCase,unknown,null,客户端
From: https://www.cnblogs.com/lwl80/p/17405541.html

相关文章

  • IPB64N25S3-20-ASEMI代理英飞凌中低压MOS管IPB64N25S3-20
    编辑:llIPB64N25S3-20-ASEMI代理英飞凌中低压MOS管IPB64N25S3-20型号:IPB64N25S3-20品牌:Infineon(英飞凌)封装:TO-263最大漏源电流:64A漏源击穿电压:250VRDS(ON)Max:17.5mΩ引脚数量:3沟道类型:N沟道MOS管芯片尺寸:MIL漏电流:恢复时间:5ns芯片材质:封装尺寸:如图特性:中低压MOS管、N沟道MOS管工作结......
  • IPB64N25S3-20-ASEMI代理英飞凌中低压MOS管IPB64N25S3-20
    编辑:llIPB64N25S3-20-ASEMI代理英飞凌中低压MOS管IPB64N25S3-20型号:IPB64N25S3-20品牌:Infineon(英飞凌)封装:TO-263最大漏源电流:64A漏源击穿电压:250VRDS(ON)Max:17.5mΩ引脚数量:3沟道类型:N沟道MOS管芯片尺寸:MIL漏电流:恢复时间:5ns芯片材质:封装尺寸:如图特性:中低压MOS管、......
  • tomcat 启用Gzip 压缩进行优化
    <Connector...compression="1400"noCompressionUserAgents="gozilla,traviata"compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript"/>[url]http://stackoverflow.com/questions/11486745/referencing-......
  • java实现zip与unzip
    jdk提供了Zip相关的类方便的实现压缩和解压缩。使用方法很简单。下边分别是压缩和解压缩的简单事例1,压缩的importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOut......
  • Unable to bind to http://localhost:xxxx on the IPv4 loopback interface: '以一种
    这个错误大概率是端口冲突, 这里不再赘述。具体(参考https://www.cnblogs.com/zhengdongdong/p/12001152.html)我这边的原因是运行端口在被排除端口范围中(参考https://gsw945.com/index.php/archives/33/)cmd运行 netshinterfaceipv4showexcludedportrangeprotocol=tcp......
  • 创建支持eclipse的多模块maven项目
    Maven命令行来创建项目[url]http://everlook.iteye.com/blog/1446672[/url]一些命令说明:直接创建mavenweb项目[color=blue]mvnarchetype:create-DgroupId=cn.everlook.myweb-DartifactId=myweb-DarchetypeArtifactId=[b]maven-archetype-webapp[/b......
  • 1、TCP/IP模型有哪几层?
    应用层应用层只需关注给用户提供的功能,当两个设备需要进行通讯的时候,只需要把要发送的数据发送给传输层即可。传输层传输层是为应用层提供网络支持的,传输层有两个传输协议:TCP和UDPTCP:大部分应用用的正是TCP协议,如HTTP。相对于UDP协议,TCP协议多了很多特性:流量控制、超时重传......
  • 汉字转换为拼音的JavaScript库的比较
    JSPinyin有提供了两个方法:<依赖mootools>1)一个是将汉字翻译为拼音,其中每一个字的首字母大写;1pinyin.getFullChars(this.value);2)一个是可以将每一个字的拼音的首字母提取出来,是大写的形式。1pinyin.getCamelChars(this.value);还可以设置是否判断多音字。只是功能比较简单,如......
  • 手机上图片预览插件 PhotoSwipe简介
    官方介绍PhotoSwipe是专为移动触摸设备设计的相册/画廊.兼容所有iPhone、iPad、黑莓6+,以及桌面浏览器.底层实现基于HTML/CSS/JavaScript,是一款免费开源的相册产品。为谁而用让移动站点的相册体验和原生App一样的设计师和开发者。绝佳特性PhotoSwipe提供给用户一个熟悉又直观的相......
  • 最新Android开发环境(Eclipse+ADT+Android 5.0)
     一、一切由运行时错误引起dalvikvmCouldnotfindclass'引用包.类',referencedfrommethod... 其实在编译时也会见到如下错误:      [dx]       [dx]troubleprocessing:      [dx]badclassfilemagic(cafebabe)orversion(0033.00......