扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

java濡備綍閫氳繃https杩斿洖鏁版嵁

扬州沐宇科技
2021-03-03 14:41:12
HTTPS, Java

java濡備綍閫氳繃https杩斿洖鏁版嵁

鍦╦ava涓埄鐢╤ttps杩斿洖json鏁版嵁锛屽叿浣撴柟娉曞涓嬶細

public static JSONObject httpsRequest(String requestUrl, String requestMethod, String outputStr) {

JSONObject jsonObject = null;

StringBuffer buffer = new StringBuffer();

try {

// 鍒涘缓SSLContext瀵硅薄锛屽苟浣跨敤鎴戜滑鎸囧畾鐨勪俊浠荤鐞嗗櫒鍒濆鍖?p>TrustManager[] tm = { new MyX509TrustManager() };

SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");

sslContext.init(null, tm, new java.security.SecureRandom());

// 浠庝笂杩癝SLContext瀵硅薄涓緱鍒癝SLSocketFactory瀵硅薄

SSLSocketFactory ssf = sslContext.getSocketFactory();

URL url = new URL(requestUrl);

HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();

httpUrlConn.setSSLSocketFactory(ssf);

httpUrlConn.setDoOutput(true);

httpUrlConn.setDoInput(true);

httpUrlConn.setUseCaches(false);

// 璁剧疆璇锋眰鏂瑰紡锛圙ET/POST锛?p>httpUrlConn.setRequestMethod(requestMethod);

if ("GET".equalsIgnoreCase(requestMethod))

httpUrlConn.connect();

// 褰撴湁鏁版嵁闇€瑕佹彁浜ゆ椂

if (null != outputStr) {

OutputStream outputStream = httpUrlConn.getOutputStream();

// 娉ㄦ剰缂栫爜鏍煎紡锛岄槻姝腑鏂囦贡鐮?p>outputStream.write(outputStr.getBytes("UTF-8"));

outputStream.close();

}

// 灏嗚繑鍥炵殑杈撳叆娴佽浆鎹㈡垚瀛楃涓?p>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;

}

扫码添加客服微信