关闭

调用百度定位API接口例子

938人阅读 评论(0) 收藏 举报
分类:
/**
* 向指定URL发送GET方法的请求
* @param url    发送请求的URL
* @param params 请求参数,请求参数应该是name1=value1&name2=value2的形式。
* @return URL   所代表远程资源的响应
*/
public static String sendGet(String url, String params) {
   String result = "";
   BufferedReader in = null;
   try {
       String urlName = url; 
       if(params!=null&&!params.equals("")){
           urlName+= "?" + params;
       }
       URL realUrl = new URL(urlName);
       // 打开和URL之间的连接
       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.connect();
       
       //获取所有响应头字段
       Map<String, List<String>> map = conn.getHeaderFields();
       // 遍历所有的响应头字段
       for (String key : map.keySet()) {
           System.out.println(key + "-->" + map.get(key));
           }
 
       // 定义BufferedReader输入流来读取URL的响应 这里注意要设置编码要和响应端一致否则出现乱码
       in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
       String line;
       while ((line = in.readLine()) != null) {
           result += "\n" + line;
       }
   } catch (Exception e) {
       System.out.println("发送GET请求出现异常!" + e);
       e.printStackTrace();
   }finally { // 使用finally块来关闭输入流
           try {
               if (in != null) {
                   in.close();
               }
           } catch (IOException ex) {
               ex.printStackTrace();
           }
    }
       return result;
}
//测试sendPost方法
    @Test
    public void testSendPost() throws Exception {
 
   
    String url = "http://api.map.baidu.com/location/ip";
        String params = "ip=59.36.182.10&ak=Gy29iGOgtQnayrZjkz2KBc0C&coor=bd09ll";
        String str = sendGet(url, params);
        
          //json字符串转为Map对象
         ObjectMapper mapper = new ObjectMapper();
     Map map=mapper.readValue(str, Map.class);
     System.out.println(map);
       
   
    }
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:194136次
    • 积分:3237
    • 等级:
    • 排名:第10959名
    • 原创:106篇
    • 转载:186篇
    • 译文:1篇
    • 评论:8条
    最新评论