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 @   嘻嘻哈哈的人生  阅读(518)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示