原文地址:https://dsx2016.com/?p=226

➢ 获取IP地址

在开发工作中,我们常常需要获取客户端的IP

➢ nginx配置

为了拿到真实的IP地址,避免代理等错误源,需要在nginx配置

location / {# 指向当前的某个服务端口(根据服务单独java打包jar开启对应的服务)proxy_pass   http://127.0.0.1:端口号;
​# 这里配置java获取客户端真实的ip地址(避免因为nginx反向代理造成ip 127.0.0.1等其他错误现象)proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;set $Real $http_x_forwarded_for;if ( $Real ~ (\d+)\.(\d+)\.(\d+)\.(\d+),(.*) ){set $Real $1.$2.$3.$4;}proxy_set_header X-Real-Ip $Real;}

➢ java API 获取

//获取ip地址@GetMapping(value = "/getIp")@ResponseBodyprivate String getIpAddr(HttpServletRequest request) {String ip = request.getHeader("x-forwarded-for");System.out.println("x-forwarded-for ip: " + ip);if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {// 多次反向代理后会有多个ip值,第一个ip才是真实ipif (ip.indexOf(",") != -1) {ip = ip.split(",")[0];}}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("Proxy-Client-IP");System.out.println("Proxy-Client-IP ip: " + ip);}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("WL-Proxy-Client-IP");System.out.println("WL-Proxy-Client-IP ip: " + ip);}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("HTTP_CLIENT_IP");System.out.println("HTTP_CLIENT_IP ip: " + ip);}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("HTTP_X_FORWARDED_FOR");System.out.println("HTTP_X_FORWARDED_FOR ip: " + ip);}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("X-Real-IP");System.out.println("X-Real-IP ip: " + ip);}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getRemoteAddr();System.out.println("getRemoteAddr ip: " + ip);}System.out.println("获取客户端ip: " + ip);return ip;}

➢ Tips

ip可以定位用户的网段,稍作处理可以定位访客的大致地理位置,甚至精确到门牌号

Java获取访客IP地址相关推荐

  1. vue中使用接口(搜狐接口)获取访客IP地址

    花了1天时间踩坑,终于探索出来了最方便的解决方式.. 网上大部分大厂的获取ip的方式都已不可用,只有搜狐接口还有一些小网站搞出来的接口能用.这里我使用的是搜狐获取IP的接口. 搜狐接口返回的是一个js ...

  2. php如何获取访问者地理位置,PHP获取访客IP和地理位置等信息的类

    这是一个能够获取到用户访问信息的PHP类,包括:ip地址.地理信息.操作系统.语言.浏览器和isp等等.获取地理位置和ISP信息是请求的Baidu隐藏接口. 代码如下: 1.[代码][PHP]代码 / ...

  3. Java获取登录用户IP地址

    Java获取登录用户IP地址 /*** @param * @return * @throws * @description * @author wqd* @date 2021/9/21 13:45*/ ...

  4. php获取访客精确ip,PHP获取访客IP、地区位置等技巧分享

    本文主要和大家介绍了利用PHP获取访客IP.地区位置.浏览器及来源页面等信息的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧. 示例代码& ...

  5. 用java获取本机IP地址

    在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一下.突然之间很想把自己的IP地址给获取了,虽然用系统自带命令可以得到,但自己想写一个程序获取一下,到网上搜索了一下ja ...

  6. java获取客户端的IP地址工具类

    java获取客户端的IP地址工具类 import java.net.InetAddress; import java.net.UnknownHostException;import javax.ser ...

  7. PHP获取访客ip、系统、浏览器等信息[转]

    1.获取访客操作系统信息 <?php function GetOs() { if (!empty($_SERVER['HTTP_USER_AGENT'])) { $OS = $_SERVER[' ...

  8. 弘辽科技:淘宝能查出来访客ip地址吗?访客ip地址怎么查?

    每个人在上网的时候使用的设备都会有一个IP地址,那么有一些朋友经常在淘宝平台上下单购物,所以现在心里很好奇的是淘宝能查出来访客IP地址吗?自己的信息会被泄露吗? 可以. 淘宝卖家是可以看到买家的地址的 ...

  9. java获取本机ip地址_代码片段:获取系统所有IP

    问题 在Windows系统中,可以支持多个网卡,比如有线的以太网卡,无线网卡,虚拟网卡等.如下图所示: 每一张网卡由不同的类型,也可以分别被用户启用或禁用. 对于单独一张给定的网卡,其IP地址可以是D ...

最新文章

  1. 【Linux】Linux简单操作之管道与重定向
  2. Python使用xlrd和xlwt读取和写入excel详细教程
  3. [bzoj2324][ZJOI2011]营救皮卡丘
  4. 简单的动画函数封装(1)
  5. ORACLE用SYS登录报ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER解决方法
  6. ibatis Clob对象处理
  7. android 溢出按钮,React-Native封裝Tabbar 實現中間按鈕溢出效果(Android/iOS)
  8. java cookie 永久_java web中cookie的永久创建与撤销
  9. 用TMG搭建×××服务器(二)---L2TP/IPsec ×××
  10. Gibbs 采样完整解析与理解
  11. php shuffle有种子吗6,6个BT种子网站,没有它找不到的资源!太少人知道了怪可惜的...
  12. 社交电商 社群电商 源码下载
  13. 三维向量的一些运算技巧,如何计算坐标
  14. JDBC个人学习总结
  15. BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡
  16. 标签模型:用户性别标签
  17. 学生个人网页设计作品 HTML+CSS+JavaScript仿小米商城(8页) 学生个人网页模板 简单个人主页成品 个人网页制作 HTML学生个人网站作业设计代做
  18. 中职计算机专业英语课程改革初探,中职计算机专业英语教学初探.doc
  19. linux学习课程从入门到精通:文件的归档和压缩
  20. 数字滤波算法(一)——滑动平均滤波算法

热门文章

  1. java检验产品的次品率_某产品的次品率为0.1,检验员每天检验4次,每次随机地取10件产品进行检验,如发现其中的次品数多于1 - 搜题宝...
  2. 深度学习在医学影像的创新
  3. Mac OS启动服务优化高级篇(launchd tuning)
  4. html写微信推送,QQ/微信实现网站内容推送
  5. 有关国内的流氓软件和强制安装软件(网站黑名单一览表)
  6. 正好配资股票杠杆2021.5.14复盘记录
  7. vim编辑器介绍及其常用命令
  8. 最常有用的英语口语900句
  9. lol老是闪退到桌面_win10玩lol闪退到桌面怎么办?win10玩lol闪退到桌面的解决方法...
  10. 江卓尔:一次性讲完BCH经常被污蔑的几件事