Java调用SmartWeatherAPI返回data error,在线等

tager 2015-06-10 03:30:24
Java调用SmartWeatherAPI
http://open.weather.com.cn/data/?areaid=101010100&type=forecast_v&date=201506101518&appid=c4dfa3
返回 "data error"
key也按帮助文档说明加上了,我用的备用IP(本机IP)进行调试的,不知道是什么原因?
...全文
129 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tager 2015-06-10
  • 打赏
  • 举报
回复
问题找到了,给大家分享下 API文档中,有一段简短说明,大家要注意下, public_key 为不包含 key 在内的完整 URL 其它部分(此处appid 为完整 appid) 在生成public_key的时候,appid 应该为完整 appid,我是按照成成url的规则,用appid前六位来生成public_key,所以请求的时候总时报data error。
tager 2015-06-10
  • 打赏
  • 举报
回复
这是调用代码 public void SubmitPost(String url, String filename1){ HttpClient httpclient = new DefaultHttpClient(); try { url = "http://open.weather.com.cn/data/?areaid=101010100&type=forecast_v&date=201506101321&appid=c4dfa3"; String key = SHAUtils.standardURLEncoder(url, "xxxxxxxxx"); url += "&key=" + key; HttpGet httpget = new HttpGet(url); HttpResponse response = httpclient.execute(httpget); int statusCode = response.getStatusLine().getStatusCode(); if(statusCode == HttpStatus.SC_OK){ System.out.println("服务器正常响应....."); HttpEntity resEntity = response.getEntity(); System.out.println(EntityUtils.toString(resEntity)); } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { httpclient.getConnectionManager().shutdown(); } catch (Exception ignore) { httpclient.getConnectionManager().shutdown(); } } }

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧