/**
* 重写X509TrustManager
*/
private static TrustManager myX509TrustManager = new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
};
/**
* 发送https协议的post请求type为json
*
* @param url
* @param param
*
* @return
*/
public static JSONObject sendHttpsPost(String url, JSONObject param) {
if (url.isEmpty()) {
return null;
}
try {
//设置SSLContext
SSLContext ssl = SSLContext.getInstance("SSL");
ssl.init(null, new TrustManager[]{myX509TrustManager}, null);
//打开连接
HttpsURLConnection conn = (HttpsURLConnection) new URL(url).openConnection();
//超时时间一定要配置
conn.setConnectTimeout(2000);
//超时时间一定要配置
conn.setReadTimeout(2000);
//设置套接工厂
conn.setSSLSocketFactory(ssl.getSocketFactory());
//加入数据
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-type", "application/json");
BufferedOutputStream buffOutStr = new BufferedOutputStream(conn.getOutputStream());
try {
buffOutStr.write(param.toJSONString().getBytes());
buffOutStr.flush();
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
buffOutStr.close();
}
//获取输入流
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
reader.close();
return JSON.parseObject(sb.toString());
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
HttpsPostt请求HttpsPostt请求HttpsPostt请求HttpsPostt请求HttpsPostt请求HttpsPostt请求HttpsPostt请求HttpsPostt请求
最新推荐文章于 2025-03-19 09:36:10 发布