通过ip查位置的接口有很多,最有名的要数淘宝的免费接口了。但是好像淘宝的公共接口没法用了报

{"msg":"the request over max qps for user ,the accessKey=public","code":4}错误。淘宝需要申请key来调用。不过我发现了一个更好用户的接口,这个就是http://whois.pconline.com.cn/ip.jsp?ip=

下面工具类就是我对这个接口的返回的参数进行的解析实现。需求是拿到省份名字即可。

public class AddressUtils
{
 
    public static final String IP_URL = "http://whois.pconline.com.cn/ip.jsp?";

public static String getRealAddressByIP(String ip)
    {
        String address = "xx";

String rspStr = HttpUtils.sendPost(IP_URL,"ip="+ip);
            if (rspStr!=null&&rspStr!="")
            {

if(rspStr.contains("内蒙古")||rspStr.contains("黑龙江")){//获取省
                    address = rspStr.substring(0,3);
                }else{

address = rspStr.substring(0,2);

}

}else {
                System.out.println("获取地理位置异常 {}", ip);
            }

return address;
    }

public  static  void main(String [] args){
        String realAddressByIP = getRealAddressByIP("1.180.0.0");
        System.out.println(realAddressByIP);

System.out.println("获取结束");
    }
}

HttpUtils工具类:

public static String sendPost(String url, String param)
{PrintWriter out = null;BufferedReader in = null;StringBuilder result = new StringBuilder();try{String urlNameString = url + "?" + param;URL realUrl = new URL(urlNameString);URLConnection conn = realUrl.openConnection();conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");conn.setRequestProperty("Accept-Charset", "utf-8");conn.setRequestProperty("contentType", "utf-8");conn.setDoOutput(true);conn.setDoInput(true);out = new PrintWriter(conn.getOutputStream());out.print(param);out.flush();in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK"));String line;while ((line = in.readLine()) != null){result.append(line);}
System.out.println("recv - {}", result);}catch (ConnectException e){System.out.println("调用HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e);}catch (SocketTimeoutException e){System.out.println("调用HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e);}catch (IOException e){System.out.println("调用HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e);}catch (Exception e){System.out.println("调用HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e);}finally{try{if (out != null){out.close();}if (in != null){in.close();}}catch (IOException ex){System.out.println("调用in.close Exception, url=" + url + ",param=" + param, ex);}}return result.toString();
}

java根据ip反查地理位置的实现方法相关推荐

  1. IP反查域名的方式方法汇总

    众所周知,通过域名可以查询到网站的ip地址,但是通过ip地址能不能查到域名,这其实也是可以的,今天聚名企服就为大家讲讲IP反查域名的方式方法. 1.已知IP地址查对应的域名 cmd-nslookup ...

  2. IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域名汇总,域名历史解析记录查询,IP地址查对应机房名称、地址,查IP地址的AS号码...

    IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域名汇总: http://bgp.he.net/,IP地址查对应机房:IP地址在 bgp.he.net 直接能查到IP所属机房或运营商的AS号. ...

  3. python ip反查询_利用ip反查指定域名

    1.[利用ip反查指定域名代码][Python]代码 #!/usr/bin/python2.7 # -*- coding:utf-8 -*- import urllib,urllib2 import ...

  4. GO工具开发|基于网站API的子域名与IP反查工具(二)

    作者:墨阳 免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x00 前言 上一篇实现了一个简单的子域名查询和ip反查工具,但是当我们的目标比较多时,一个一个查询体验并不友好 ...

  5. Linux Shell用IP反查网卡名称

    在Linux有的应用场合,我们需要用ip反查或查找ip所在的网卡名称. 想着在Linux中应该有比较直接的Shell命令可以做到这点.但网络搜到的第一个例子竟然是用双层循环遍历的方法,至少在形式和逻辑 ...

  6. IP反查网站/IP反查接口 域名汇总

    IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域名汇总,域名历史解析记录查询,IP地址查对应机房名称.地址,查IP地址的AS号码. IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域 ...

  7. 使用python实现IP反查域名

    0x00 趁着暑假的功夫,把python初略的学习一遍,最大的感受就是这个语言是我见过的最最好用的语言.尤其是其强大的类库以及简单的语法. 闲来无事,今天我就记录一下我用python写的一个小的IP反 ...

  8. 同IP反查域名的原理

    同IP反查域名的原理是:一个一个地从搜索引擎收集域名的IP数据,然后通过IP进行分类存储域名信息,最后在查询时调用这些可能已经过时的数据. 转载于:https://www.cnblogs.com/ph ...

  9. 通过ip反查mac地址

    通过ip反查mac地址 作者:蓝眼泪 实验环境:win10专业版 1.nbtstat -a ip地址 开始-运行-cmd 输入nbtstat -a ip地址,就可以看到物理机的mac地址 截图如下: ...

最新文章

  1. Xcode iOS9.3 配置包 iOS10.0 配置包 iOS10.2 配置包 could not find developer disk image
  2. FreeBSD基金会添加新成员,梁莉成为第一位来自微软和中国的基金会董事
  3. 七年级上册数学计算机教学视频,七年级上册数学教学视频免费
  4. 音乐播放类应用后台播放耗电评测报告
  5. 重温《数据库系统概论》【第一篇 基础篇】【第4章 数据库安全性】
  6. linux之源程序编译安装
  7. java ioutils_关于Java:无法解析符号“ IOUtils”
  8. Koo叔说Shader—UV旋转
  9. 力扣刷题 DAY_74 回溯
  10. 转盘抽奖角度计算 前端
  11. 数据结构与算法Python版之北大慕课笔记(五)
  12. uCOS-II之邮箱
  13. 仿照QQ的左右滑动切换界面的效果
  14. C++ 取json中的某一个值,解析json字符串
  15. 从Buck-Boost到Flyback
  16. 成功解决LINK : fatal error LNK1181: 无法打开输入文件“avdevice.lib” error: command 'D:\\Program Files (x86)\\Micr
  17. DataFrame 选取其中的两列数据
  18. 徒手健身不花钱,10个动作爆虐全身
  19. java 内省_Java反射与内省
  20. 从多张曝光图像中学习一个深度单图像对比度增强器

热门文章

  1. 锂电池过充电、过放电、短路保护电路详解
  2. 《“十四五”数字经济发展规划》推广电子合同等应用,君子签为政企数字化赋能
  3. GN及Ninja基本语法
  4. Apache Hive入门:模拟实现Hive功能、Hive架构、 组件
  5. 费诺编码实验报告c语言,信息论编码实验报告费诺编码附源代码..doc
  6. [LightOJ1017]Brush (III)(dp)
  7. 洛谷[USACO06JAN]把牛Corral the Cows
  8. First visit and every visit MC
  9. 下列关于python函数参数说法错误的是_以下关于函数说法错误的是
  10. 计算机自考考研学校有哪些专业,适合自考生考研的学校有哪些