Java后台访问URL并解析结果集

 

在做项目的过程中总会碰到一些需要调别人的接口之类的,本文拿我做项目时碰到的调微信API拿到手机openid来

 

try块里面的都可以直接复制,把url改成自己的就可以了,参数什么的就跟你在网页上访问接口一样

String code = "123456";    //这里随便定义一个code值,因为微信提供的code需要特定方式获取,而且只能用一次就失效了
try {
            //如果传进来有中文字符 可以使用 URLEncoder.encode 方法进行编码转换
            //String start = "杭州";    //转换前 
            //start = URLEncoder.encode(start, "utf-8");  //转换中
            //System.out.printin(start)   //转换后  %E6%9D%AD%E5%B7%9E
			URL url = new URL("https://api.weixin.qq.com/sns/jscode2session?js_code="+code+"&&appid=wx9827ec2abca8a12a&&secret=baf2ca273073cd613270e8e6834f9679&&grant_type=authorization_code ");
			System.out.println(url);
			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
			conn.setRequestMethod("GET");
			conn.setRequestProperty(
					"User-Agent",
					"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1096.1 Safari/536.6");
			conn.setRequestProperty("content-type",
					"application/x-www-form-urlencoded;charset=UTF-8");
			conn.setDoOutput(true); 
			if (conn.getResponseCode() == 302) {
				System.out.println(302);
				return null;
			}
			if (conn.getResponseCode() == 200) {
				System.out.println(200);
			}
			BufferedReader rd = new BufferedReader(new InputStreamReader(
					conn.getInputStream(), "utf-8"));
			StringBuffer sb = new StringBuffer();
			String s = "";
			while ((s = rd.readLine()) != null) {
				sb.append(s);
			}
			// System.out.println(sb);
			if (sb.length() == 0) {
				sb.append("[]");
			}
			result = sb.toString();
			 System.out.println(result); //到这里就获取到结果了result是结果
			rd.close();
			conn.disconnect();
		} catch (Exception e) {
			e.printStackTrace();
		}  

这个就是返回的结果集,result就是这个东东

下面我们来解析一下result,我这里使用的是JacksonUtil,这是一个解析json格式的工具。

Map<String,Object> paramMap = jacksonUtil.toObject(result,new TypeReference<Map<String,Object>>() {});
        Map map = new HashMap<String, Object>();
        map.put("errcode",paramMap.get("errcode"));
	map.put("msg", "访问成功");
	return jacksonUtil.toJson(map);

来看一下结果

 

整个java后台访问url就进行完了,希望能帮到你们!!!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值