java实现http请求

String apiUrl = "https://api.seniverse.com/v3/weather/now.json?key=" + key + "&location=" + fullCityName
+ "&language=zh-Hans&unit=c";
URL url = new URL(apiUrl);
HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection();
httpUrlConn.setDoInput(true);

//设置连接超时时间

httpUrlConn.setConnectTimeout(10000);

//设置读取超时时间
httpUrlConn.setReadTimeout(10000);


httpUrlConn.setRequestMethod("GET");
httpUrlConn.connect();
// 获得返回的输入流

InputStream inputStream = httpUrlConn.getInputStream();
result = org.apache.commons.io.IOUtils.toString(inputStream, "UTF-8");

//json字符串
JSONObject jsonObject = null;
jsonObject = new JSONObject(result);

//获取json中result 中的值,例如:{"result" : "123123"}

String returnResult = jsonObject.getString("results");

String subresult = returnResult.substring(1, returnResult.length() - 1);
jsonObject = new JSONObject(subresult);
String nowresult = jsonObject.getString("now");

Gson gson = new Gson();
Map<String, Object> map = new HashMap<String, Object>();

//转化成map类型
map = gson.fromJson(nowresult, map.getClass());
Date date = new Date();
SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd");

String city = (String) map.get("city");

 

posted @ 2019-01-02 12:24  嘻嘻哈哈的人生  阅读(509)  评论(0编辑  收藏  举报