java实现根据ip地址获取地理位置的代码分享

 更新时间:2014年08月25日 10:15:44   投稿:junjie  
这篇文章主要介绍了java实现根据ip地址获取地理位置的代码分享,本文中使用的是QQ在线接口,也可以使用新浪、淘宝等提供的在线接口,需要的朋友可以参考下

前几天想给网站后台加个解析ip所在地理位置的功能,在网上看了一些博客,找了几段程序,但总觉得写的不够简洁,感觉很啰嗦。下面这个程序,感觉还算简洁,于是整理调试了一下,可以用,程序调用了“腾讯ip分享计划”提供的接口,当然也可以改成ip138提供的接口,不过这两个网站返回的字符串格式有些不同,要分别做解析。

public String getAddressByIP()
{ 
  try
  {
    String strIP = "0.0.0.0";
    URL url = new URL( "http://ip.qq.com/cgi-bin/searchip?searchip1=" + strIP); 
    URLConnection conn = url.openConnection(); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK")); 
    String line = null; 
    StringBuffer result = new StringBuffer(); 
    while((line = reader.readLine()) != null)
    { 
      result.append(line); 
    } 
    reader.close(); 
    strIP = result.substring(result.indexOf( "该IP所在地为:" ));
    strIP = strIP.substring(strIP.indexOf( ":") + 1);
    String province = strIP.substring(6, strIP.indexOf("省"));
    String city = strIP.substring(strIP.indexOf("省") + 1, strIP.indexOf("市"));
    ... ...
    ... ...
  }
  catch( IOException e)
  { 
    return "读取失败"; 
  }
}

附:

新浪接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=

淘宝接口:http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]

相关文章

  • spring boot集成smart-doc自动生成接口文档详解

    spring boot集成smart-doc自动生成接口文档详解

    这篇文章主要介绍了spring boot集成smart-doc自动生成接口文档详解,smart-doc是一款同时支持java restful api和Apache Dubbo rpc接口文档生成的工具,smart-doc颠覆了传统类似swagger这种大量采用注解侵入来生成文档的实现方法
    2022-09-09
  • Servlet3.0实现文件上传的方法

    Servlet3.0实现文件上传的方法

    本篇文章主要介绍了Servlet实现文件上传的方法,所谓文件上传就是将本地的文件发送到服务器中保存。有兴趣的可以了解一下。
    2017-03-03
  • java的内部类和外部类用法讲解

    java的内部类和外部类用法讲解

    本文详细讲解了java的内部类和外部类用法,文中通过示例代码介绍的非常详细。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • java报错Cause: java.sql.SQLException问题解决

    java报错Cause: java.sql.SQLException问题解决

    本文主要介绍了java报错Cause: java.sql.SQLException问题解决,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Java二进制操作(动力节点Java学院整理)

    Java二进制操作(动力节点Java学院整理)

    这篇文章给大家介绍了java二进制操作技巧,包括移位、位运算操作符等相关知识点,非常不错,感兴趣的朋友参考下吧
    2017-03-03
  • MybatisPlus 自定义插件实现拦截SQL修改功能(实例详解)

    MybatisPlus 自定义插件实现拦截SQL修改功能(实例详解)

    这篇文章主要介绍了MybatisPlus 自定义插件实现拦截SQL修改功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • Java 函数式编程要点总结

    Java 函数式编程要点总结

    函数式编程并不是Java新提出的概念,其与指令编程相比,强调函数的计算比指令的计算更重要;与过程化编程相比,其中函数的计算可以随时调用。Java8新引入函数式编程方式,大大的提高了编码效率。本文将对涉及的对象等进行统一的学习及记录。
    2021-06-06
  • java使用JOptionPane猜数字游戏

    java使用JOptionPane猜数字游戏

    这篇文章主要为大家详细介绍了java使用JOptionPane猜数字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Java实现读取html文本内容并按照格式导出到excel中

    Java实现读取html文本内容并按照格式导出到excel中

    这篇文章主要为大家详细介绍了如何使用Java实现读取html文本提取相应内容按照格式导出到excel中,文中的示例代码讲解详细,需要的可以参考下
    2024-02-02
  • Java多线程并发之线程池任务请求拦截测试实例

    Java多线程并发之线程池任务请求拦截测试实例

    这篇文章主要介绍了Java多线程并发之线程池任务请求拦截测试实例,队列中永远没有线程被加入,即使线程池已满,也不会导致被加入排队队列,实现了只有线程池存在空闲线程的时候才会接受新任务的需求,需要的朋友可以参考下
    2023-12-12

最新评论