项目场景:
提示:通过小程序获取用户微信绑定手机号
这里附上微信官方文档说明:微信官方文档
获取用户手机号步骤说明:
1.小程序客户端先调用wx.login(),获取到js_code;
2.将js_code传到后台,调用code2Session接口获取到session_key,将session_key存入缓存;
3.小程序端调用wx.getUserInfo(),把encryptedData、iv和session_key三者同时传到后台解密获取手机号。
解决方案:
首先,pom.xml文件引入依赖
<!-- 阿里JSON解析器 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<!-- bouncycastle-->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.54</version>
</dependency>
然后直接上代码
Ⅰ附上 Http请求工具类
/**
* 向指定URL发送GET方法的请求
* @param url 发送请求的URL
* @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return URL 所代表远程资源的响应结果
*/
public static String sendGet(String url, String param) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent"