java https请求 源码 微信
来源:互联网 发布:经典句子 知乎 编辑:程序博客网 时间:2024/06/12 01:04
JSONObject jsonObject = null;
StringBuffer buffer = new StringBuffer();
try {
/**创建SSLContext对象,并用我们制定的管理对象初始化*/
TrustManager[] tm = {new MyX509TrustManager()};
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
/**从上述的SSLContext对象中获得 SSLSocketFactory*/
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL url = new URL(requestUrl);
HttpsURLConnection httpsUrlConn = (HttpsURLConnection) url.openConnection();
httpsUrlConn.setSSLSocketFactory(ssf);
httpsUrlConn.setDoInput(true);
httpsUrlConn.setDoOutput(true);
httpsUrlConn.setUseCaches(false);
httpsUrlConn.setRequestMethod(requestMethod);
if("GET".equalsIgnoreCase(requestMethod)){
httpsUrlConn.connect();
}
/**当有数据提交时*/
if(null != params){
OutputStream output = httpsUrlConn.getOutputStream();
/**设置编码格式,防止中文乱码*/
output.write(params.getBytes("UTF-8"));
output.close();
}
/**将返回的输入流转换成字符*/
InputStream inputStream = httpsUrlConn.getInputStream();
InputStreamReader isr = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(isr);
String str = null;
while((str = bufferedReader.readLine())!=null){
buffer.append(str);
}
bufferedReader.close();
isr.close();
inputStream.close();
inputStream = null;
httpsUrlConn.disconnect();
jsonObject = JSONObject.fromObject(buffer.toString());
} catch (ConnectException ce) {
logger.error("wechat connect is error ");
} catch (Exception e) {
logger.error("https request error:{}",e);
}
return jsonObject;
}
/**
* 获取access_token
* @author vigor
* @param 凭证
* @param 密钥
* @return AccessToken
* */
public static AccessToken getAccessToken(String appid,String appsecret){
AccessToken accessToken = null;
String requestUrl = access_token_url.replace("APPID", appid).replace("APPSECRET", appsecret);
JSONObject jsonObject = httpsRequest(requestUrl, "GET", null);
/**如果请求成功*/
if(null != jsonObject){
try {
accessToken = new AccessToken();
accessToken.setExpriesIn(jsonObject.getString("expires_in"));
accessToken.setToken(jsonObject.getString("access_token"));
} catch (Exception e) {
accessToken = null;
logger.error("获取access_token is error. errorCode :{} and errorMsg{}",
jsonObject.getString("errcode"),jsonObject.getString("errmsg"));
}
}
return accessToken;
}
public static int ctreatMenu(Menu menu ,String accessToken){
int result = 0;
/**拼接创建菜单的地址*/
String url = menu_create_url.replace("ACCESS_TOKEN", accessToken);
/**将菜单对象转换成json字符串*/
String jsonMenu = JSONObject.fromObject(menu).toString();
System.out.println(jsonMenu);
/**调用接口创建菜单*/
JSONObject jsonObject = httpsRequest(url, "POST", jsonMenu);
if(jsonObject != null){
if(0 != jsonObject.getInt("errcode")){
result = jsonObject.getInt("errcode");
logger.error("创建菜单失败.errcode:{} and errmsg:{}" ,jsonObject.getInt("errcode"),jsonObject.getString("errmsg"));
}
}
return result;
}
0 0
- java https请求 源码 微信
- java https请求 源码 微信
- 微信开发https请求
- 微信公众平台开发3-Https请求的封装
- file_get_contents 无法请求微信https接口的问题
- 关于使用https请求微信乱码问题
- 微信公众平台开发3-Https请求的封装
- Java https请求 HttpsURLConnection
- java 实现https请求
- java 实现https请求
- java Https的请求
- java 发送 https请求
- java 实现https请求
- Java https请求 HttpsURLConnection
- JAVA请求HTTPS协议
- java访问https请求
- java发送https请求
- JAVA请求HTTPS协议
- 黑马程序员——Java多线程
- 12.组合模式
- HTK 安装、编译以及测试——Ubuntu 14.04
- java--概述与控制台输入
- C#中Ilist与list的区别小结
- java https请求 源码 微信
- JS中的call和apply
- [BZOJ 1179] Atm · 图的联通 & SPFA
- 代码回顾:关于写代码时cout 和printf 输出16进制数的简单思考
- 黑马程序员——高新技术---字符串变量
- 06-图6. 公路村村通(30)
- Linux网络编程——tcp并发服务器(epoll实现)
- 淘宝ip地址查询接口
- linux环境部署 tomcat jdk mysql数据库的部署及配置总结