在不久前各大APP出现了IP归属地显示,如下图:

 我们可以调用网上的接口,这样简单一点,就是API调用工程师!

测试接口:http://whois.pconline.com.cn/ip.jsp?ip="ip地址"(学习使用即可哈)

代码具体实现:

    @GetMapping("/ip")public String result(HttpServletRequest request) {String ipAddress = request.getHeader("X-Forwarded-For");if (ipAddress == null || ipAddress.length() == 0 ||                 "unknown".equalsIgnoreCase(ipAddress)) {ipAddress = request.getHeader("Proxy-Client-IP");}if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {ipAddress = request.getHeader("WL-Proxy-Client-IP");}if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {ipAddress = request.getHeader("HTTP_CLIENT_IP");}if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {ipAddress = request.getHeader("X-Real-IP");}if (ipAddress != null && ipAddress.length() != 0) {ipAddress = ipAddress.split(",")[0];}if (ipAddress != null && ipAddress.length() != 0) {ipAddress = request.getRemoteAddr();}String ipMessage = HttpUtil.get("http://whois.pconline.com.cn/ip.jsp? ip="+ipAddress).substring(2,4);return  !StrUtil.isBlank(ipMessage) ? ipMessage : "星球";}

注意:这里的IF判断是为了获取各个代理器的不同请求头的规则,从而尽可能的获取到真实的IP,因为有一些代理器的IP都是伪造的,当然用可以简单一点,直接ipAddress=request.getRemoteAddr(),但是这样不一定可以获取到!用HttpServletRequest request的getHender来获取请求头!

测试代码:

    @Testvoid ipLocation() {String resultIP = HttpUtil.get("http://localhost:8089/file/ip");log.info("IP归属地:"+resultIP);}

效果图:

但是我发现这样不怎么好,因为笔者还有一个思路就是用Redis的GEO来操作效果更佳,它还可以实现附近人功能,因为他是通过经纬度来的。

IP归属地显示的简单实现代码相关推荐

  1. 米扑博客:总结分享 WordPress显示评论者IP归属地、浏览器、终端设备、电信运营商...

    在网上查资料闲逛,偶然间看到了张戈博客的评论框有点意思,于是就收走拿到了我的米扑博客. 本文为米扑博客原创:总结分享 WordPress显示评论者IP归属地.浏览器.终端设备.电信运营商 WordPr ...

  2. 米扑博客:总结分享 WordPress显示评论者IP归属地、浏览器、终端设备、电信运营商... 1

    2019独角兽企业重金招聘Python工程师标准>>> 在网上查资料闲逛,偶然间看到了张戈博客的评论框有点意思,于是就收走拿到了我的米扑博客. 本文为米扑博客原创:总结分享 Word ...

  3. WordPress显示评论者IP归属地、浏览器、终端设备、电信运营商

    在网上查资料闲逛,偶然间看到了张戈博客的评论框有点意思,于是就收走拿到了我的米扑博客. 本文为米扑博客原创:总结分享 WordPress显示评论者IP归属地.浏览器.终端设备.电信运营商 WordPr ...

  4. ping mac地址_局域网ip地址如何显示?一个软件搞定

    上次弱电行业网提到关于局域网ip地址如何显示的问题,提供了两种方法,都是通过代码实现的,对于有一定网络基础的朋友来说,肯定是比较简单的,但也有朋友反映不怎么好操作,那有没有更简单的方法呢?答案是肯定有 ...

  5. 【自制小工具】快速批量查询IP归属地(自动去重、按国内外汇总,并智能识别出错误IP)

    作者:Eason_LYC 不放弃,不为别的,只想活成自己心中的样子~ 领域:WEB安全.网络攻防 关注WEB安全.网络攻防.我的专栏文章知识点全面细致,逻辑清晰.结合实战,让你在学习路上事半功倍,少走 ...

  6. python爬取免费优质IP归属地查询接口

    python爬取免费优质IP归属地查询接口 python爬取免费优质IP归属地查询接口 具体不表,我今天要做的工作就是: 需要将数据库中大量ip查询出起归属地 刚开始感觉好简单啊,毕竟只需要从百度找个 ...

  7. 使用hadoop实现ip地理位置统计~ip归属地和运营商

    转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/40585565 更多相关hadoop内容访问:http://blog.csdn.n ...

  8. IP 归属地查询 API 教你从0到1顺着网线找到键盘侠

    写在前面 前一段时间,微博.头条.抖音.知乎等各大互联网平台相继推出了"个人主页.评论显示 IP 属地,用户不能自己开启或关闭"的功能,那么这些平台是如何获取到用户的 IP 地址呢 ...

  9. vba 编辑combobox内容_初识Visual Basic编辑器并建立一段简单的代码

    大家好,从今日开始我正式推出"VBA之EXCEL应用"教程,这个教程是面向初学人员的教程,教程一共三册,十七个章节,从简单的录制宏实现一直讲到窗体的搭建,都是我们在利用EXCEL工 ...

  10. 用VB6写的一个简单俄罗斯方块代码

    网络上有很多俄罗斯方块代码.它们大都为了视觉效果,程序比较复杂,不利于学习游戏编程.所以我写了个简单俄罗斯方块代码,尽量用VB本身的功能,没有复杂的DirectX. 下载(注意修改下载后的扩展名) m ...

最新文章

  1. duilib进阶教程 -- 实现List排序
  2. 堆晶结构_内蒙古苏尼特左旗地区堆晶角闪辉长岩的发现及地质意义
  3. ThinkPhp5使用bootstrap样式分页
  4. Flask框架——ORM数据库
  5. 求特殊方程的正整数解
  6. tushare pro接口_Python与交易策略分析amp;tushare/baostock库介绍(附代码)
  7. springboot多环境配置_编辑 SpringBoot|第五章:多环境配置
  8. http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=122threadID=9172tstart=0
  9. 9.29 csp-s模拟测试55 联+赛+题
  10. 为什么感觉iPhone 11还有很多人去买?
  11. qml 连线_将QML信号连接到C 11 lambda插槽(Qt 5)
  12. ABP官方文档翻译 3.7 领域事件(事件总线)
  13. ffdshow 源代码分析 7: libavcodec视频解码器类(TvideoCodecLibavcodec)
  14. windows server 2003 32位支持8G内存
  15. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_4_缓冲流的效率测试_复制文件...
  16. python第三方插件登录网易音乐_基于 Python3 的网易云音乐下载器(支持嵌入专辑封面等 ID3-Tags 信息)...
  17. 此主机当前没有管理网络冗余,该主机的vSphere HA检测信号数据存储数目为0,少于要求数目:2的原因及解决办法
  18. linux aptana,如何设置内部浏览器的Aptana在Linux上
  19. 清空el-form表单数据(整理)
  20. Ralink SDK相关指令总结

热门文章

  1. 网络体系结构的概念 - 网络协议TCP - 红黑联盟
  2. Python - 使用Pylint检查分析代码
  3. 均方值-数学期望-方差
  4. “扣哒杯” AI世青赛公布2021-2022年度全国决赛个人获奖名单
  5. React 应用程序中的内联样式完整指南
  6. layui 模板引擎使用
  7. CentOS7.5部署WeADMIN监控主机交换机配置[详解]
  8. 美团实习生电面之谈(成功拿到offer)
  9. 狗头人与地下世界冒险模式通关记录 [20171224]
  10. java软尾山地车评测_如何挑选适合自己的软尾山地自行车