@SuppressWarnings("deprecation")
public class WeixinUtil {
/**
* 获取微信token
*
* @param url 请求地址
* @return
* @throws Exception
*/
public static String getAccessToken(String url) throws Exception {
URI uri = URI.create(url);
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(uri);
HttpResponse response;
response = client.execute(get);
if (response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
StringBuilder sb = new StringBuilder();
for (String temp = reader.readLine(); temp != null; temp = reader.readLine()) {
sb.append(temp);
}
Map map = JSONObject.parseObject(sb.toString().trim(), Map.class);
String token = (String) map.get("ACCESS_TOKEN");
if (StringUtils.isBlank(token)) {
throw new Exception(map.toString());
}
return token;
}
return null;
}
/**
* 授权页ticket 返回sha1加密值
*
* @param url
* @return: java.lang.String
* @author: lkz
* @time: 2020/4/27 14:55
*/
public static String getTicket(String url) throws Exception {
URI uri = URI.create(url);
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(uri);
HttpResponse response;
response = client.execute(get);
if (response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
StringBuilder sb = new StringBuilder();
for (String temp = reader.readLine(); temp != null; temp = reader.readLine()) {
sb.append(temp);
}
Map map = JSONObject.parseObject(sb.toString().trim(), Map.class);
String ticket = (String) map.get("ticket");
if (StringUtils.isBlank(ticket)) {
throw new Exception(map.toString());
}
return ticket;
}
return null;
}
}
今天开发的时候,需要调微信的接口,获取token和ticket权限页。整理下调用的方法。