java调用百度定位api服务获取地理位置示例

 更新时间:2013年12月30日 15:31:58   作者:  
java调用百度定位api服务获取地理位置示例,大家参考使用吧

复制代码 代码如下:

package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.Charset;

import org.json.JSONException;
import org.json.JSONObject;
/**
 * java根据url获取json对象
 * @author openks
 * @since 2013-7-16
 * 需要添加java-json.jar才能运行
 */
public class GetPlaceByIp {

  private static String readAll(Reader rd) throws IOException {
    StringBuilder sb = new StringBuilder();
    int cp;
    while ((cp = rd.read()) != -1) {
      sb.append((char) cp);
    }
    return sb.toString();
  }

  public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
    InputStream is = new URL(url).openStream();
    try {
      BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
      String jsonText = readAll(rd);
      JSONObject json = new JSONObject(jsonText);
      return json;
    } finally {
      is.close();
     // System.out.println("同时 从这里也能看出 即便return了,仍然会执行finally的!");
    }
  }

  public static void main(String[] args) throws IOException, JSONException {
   //这里调用百度的ip定位api服务 详见 http://api.map.baidu.com/lbsapi/cloud/ip-location-api.htm
    JSONObject json = readJsonFromUrl("http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&ip=202.198.16.3");
    System.out.println(json.toString());
    System.out.println(((JSONObject) json.get("content")).get("address"));
  }
}


 

相关文章

  • IDEA新建springboot项目时未生成pom.xml文件的解决操作

    IDEA新建springboot项目时未生成pom.xml文件的解决操作

    这篇文章主要给大家介绍了关于IDEA新建springboot项目时未生成pom.xml文件的解决操作方法,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • JAVA的发展前景如何好不好自学

    JAVA的发展前景如何好不好自学

    这篇文章主要介绍了JAVA的发展前景如何好不好自学,很多朋友想自学java不知道好不好学,能不能学会,今天小编给大家分享一篇教程关于java的发展前景的文章,需要的朋友可以参考下
    2020-06-06
  • Java中Set集合的使用和底层原理解析

    Java中Set集合的使用和底层原理解析

    这篇文章主要介绍了Java中Set集合的使用和底层原理,Set集合的功能上基本上与Collection的API一致, Set集合没有扩展额外的API,本文通过示例代码给大家详细讲解,需要的朋友可以参考下
    2022-12-12
  • java8异步调用如何使用才是最好的方式

    java8异步调用如何使用才是最好的方式

    异步调用主要用于当前程序的执行不用等待调用方法执行结束就可以继续执行,下面这篇文章主要给大家介绍了关于java8异步调用如何使用才是最好的方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • spring security环境搭建

    spring security环境搭建

    本文通过代码给大家介绍了spring security环境搭建的详细教程,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-09-09
  • 如何解决线程太多导致java socket连接池出现的问题

    如何解决线程太多导致java socket连接池出现的问题

    这篇文章主要介绍了如何解决线程太多导致socket连接池出现的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • SpringBoot AOP控制Redis自动缓存和更新的示例

    SpringBoot AOP控制Redis自动缓存和更新的示例

    今天小编就为大家分享一篇关于SpringBoot AOP控制Redis自动缓存和更新的示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 解决maven maven.compiler.source和maven.compiler.target的坑

    解决maven maven.compiler.source和maven.compiler.target的坑

    这篇文章主要介绍了解决maven maven.compiler.source和maven.compiler.target的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java模拟post请求登录猫扑示例分享

    java模拟post请求登录猫扑示例分享

    这篇文章主要介绍了java模拟post请求登录猫扑的小示例,需要的朋友可以参考下
    2014-02-02
  • Java中关键字synchronized的使用方法详解

    Java中关键字synchronized的使用方法详解

    synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块,下面这篇文章主要给大家介绍了关于Java中synchronized使用的相关资料,需要的朋友可以参考下
    2021-08-08

最新评论