调用天气预报以及接口出现乱码解决方法

[转载:天气预报接口(json数据,xml数据)](http://blog.csdn.net/fancylovejava/article/details/26102635)
json数据:
通过城市名字获得天气数据,json数据:
http://wthrcdn.etouch.cn/weather_mini?city=北京

通过城市id获得天气数据,json数据:
http://wthrcdn.etouch.cn/weather_mini?citykey=101010100

xml数据:
通过城市id获得天气数据,xml文件数据,当错误时会有<error>节点
http://wthrcdn.etouch.cn/WeatherApi?citykey=101010100

通过城市名字获得天气数据,xml文件数据:
http://wthrcdn.etouch.cn/WeatherApi?city=北京


[转载:调用天气预报接口出现乱码解决方法](http://blog.csdn.net/beibeijia125/article/details/70229221)
public static String getWeatherInfo(String url) {  
       CloseableHttpClient client;  
       client = HttpClients.createDefault();  

       HttpGet get = new HttpGet(url);  
       HttpResponse response;  
       try {  
           response = client.execute(get);  
           HttpEntity entity = response.getEntity();  
           if (entity != null) {  
               InputStream instreams = entity.getContent();  
               String str = WeatherUtil.convertStreamToString(instreams);  
               get.abort();  
               return str;  
           }  
       } catch (IOException e) {  
           e.printStackTrace();  
       }  
       return null;  
   }  

private static String convertStreamToString(InputStream is) {  
       StringBuilder sb1 = new StringBuilder();  
       byte[] bytes = new byte[4096];  
       int size;  

       try {  
           while ((size = is.read(bytes)) > 0) {  
               String str = new String(bytes, 0, size, "UTF-8");  
               sb1.append(str);  
           }  
       } catch (IOException e) {  
           e.printStackTrace();  
       } finally {  
           try {  
               is.close();  
           } catch (IOException e) {  
               e.printStackTrace();  
           }  
       }  
       return sb1.toString();  
   }  

   public static void main(String[] args) {
           String url = "http://wthrcdn.etouch.cn/weather_mini?city=北京";  
           String weatherInfo = getWeatherInfo(url); 
           System.out.println(weatherInfo);
       }
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值