- 首页 > it技术 > >
参考文章https://blog.csdn.net/shumeng_xiaoyan/article/details/76503601步骤1,实现自己的x509TrustManager类,并复写三种方法public class My509TrustManager implements X509TrustManager {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
}步骤2
TrustManager[] tm={new My509TrustManager();
//1.生成trustmanager数组
SSLContext ssl=SSLContext.getInstance("TLS");
//2.得到sslcontext实例。SSL TSL 是一种https使用的安全传输协议
ssl.init(null,tm,new SecureRandom());
//初始化sslcontext
SSLSocketFactory sslSocketFactory=ssl.getSocketFactory();
//得到sslSocketFactory实例URL url=new URL(urlpath);
HttpsURLConnection connection=(HttpsURLConnection) url.openConnection();
connection.setRequestMethod(requestmethod);
connection.setSSLSocketFactory(sslSocketFactory);
//设置sllsocketfactory
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestProperty("content-type","application/json;
charset=UTF-8");
connection.setHostnameVerifier(new HostnameVerifier() {
public boolean verify(String arg0, SSLSession arg1) {
return true;
}
});
connection.connect();
String strJson=getJsonData();
OutputStream out=connection.getOutputStream();
if(out!=null&&strJson!=null&&!TextUtils.isEmpty(strJson)){
out.write(strJson.getBytes("UTF-8"));
}
推荐阅读