微信开发https请求
2015-01-24 21:27
141 查看
/** * * httpRequest:(发起https请求并获取结果). * * @author hankeqi * @param @param requestUrl 请求地址 * @param @param requestMethod 请求方式(GET、POST) * @param @param outputStr 提交的数据 * @param @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值) * @throws JSONObject DOM对象 * @since JDK 1.7 */ public static JSONObject httpRequest(String requestUrl, String requestMethod, String outputStr) { JSONObject jsonObject = null; StringBuffer buffer = new StringBuffer(); try { TrustManager[] tm = { (TrustManager) new MyX509TrustManager() };// 创建SSLContext对象,并使用我们指定的信任管理器初始化 SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE"); sslContext.init(null, tm, new java.security.SecureRandom()); SSLSocketFactory ssf = sslContext.getSocketFactory();// 从上述SSLContext对象中得到SSLSocketFactory对象 URL url = new URL(requestUrl); HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection(); httpUrlConn.setSSLSocketFactory(ssf); httpUrlConn.setDoOutput(true); httpUrlConn.setDoInput(true); httpUrlConn.setUseCaches(false); httpUrlConn.setRequestMethod(requestMethod);// 设置请求方式(GET/POST) if ("GET".equalsIgnoreCase(requestMethod)) httpUrlConn.connect(); if (null != outputStr) {// 当有数据需要提交时 OutputStream outputStream = httpUrlConn.getOutputStream(); outputStream.write(outputStr.getBytes("UTF-8"));// 注意编码格式,防止中文乱码 outputStream.close(); } InputStream inputStream = httpUrlConn.getInputStream();// 将返回的输入流转换成字符串 InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; while ((str = bufferedReader.readLine()) != null) { buffer.append(str); } bufferedReader.close(); inputStreamReader.close(); inputStream.close();// 释放资源 inputStream = null; httpUrlConn.disconnect(); jsonObject = JSONObject.fromObject(buffer.toString()); } catch (ConnectException ce) { log.error("Weixin server connection timed out."); } catch (Exception e) { log.error("https request error:", e); } return jsonObject; }
相关文章推荐
- 微信开发中使用curl实现http与https的post级get请求实例教程(附工程代码)
- 微信开发-https_request-http 请求
- (微信API接口开发) 使用HttpWebRequest进行请求时发生错误:基础连接已关闭,发送时发生错误处理
- 微信开发者-主动请求-实际开发-(5)验证TOKEN(C#)
- 微信开发学习日记(八):7步看懂weiphp插件机制,核心目标是响应微信请求
- 微信公众平台开发3-Https请求的封装
- PHP开发-用curl向https发请求时的35号错误 - 琴剑飘零
- 【PHP开发】用curl向https发请求时的35号错误
- file_get_contents 无法请求微信https接口的问题
- 微信公众号开发---微信请求服务端取值问题
- Android开发中,使用https发送安全请求的实现
- Android开发:fiddler 抓https请求
- 微信开发者-主动请求-实际开发-(4)自定义菜单(C#)
- 微信开发学习日记(八):7步看懂weiphp插件机制,核心目标是响应微信请求
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- 微信开发之发送get请求
- java https请求 源码 微信
- java微信开发(wechat4j)——得到微信请求参数
- 微信开发学习日记(八):7步看懂weiphp插件机制,核心目标是响应微信请求
- 微信接口开发1--向微信发送请求--获取access_token