实现Java okhttp3添加https
流程步骤
以下是实现Java okhttp3添加https的步骤:
步骤 | 描述 |
---|---|
1 | 创建SSLContext对象 |
2 | 创建X509TrustManager对象 |
3 | 创建HostnameVerifier对象 |
4 | 设置okhttp客户端的sslSocketFactory和hostnameVerifier |
代码示例
步骤1:创建SSLContext对象
// 引用形式的描述信息
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[]{new 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];
}
}}, new SecureRandom());
步骤2:创建X509TrustManager对象
// 引用形式的描述信息
TrustManager trustManager = new 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];
}
};
步骤3:创建HostnameVerifier对象
// 引用形式的描述信息
HostnameVerifier hostnameVerifier = new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
步骤4:设置okhttp客户端的sslSocketFactory和hostnameVerifier
// 引用形式的描述信息
OkHttpClient client = new OkHttpClient.Builder()
.sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager)trustManager)
.hostnameVerifier(hostnameVerifier)
.build();
结尾
通过以上步骤,你可以成功实现Java okhttp3添加https的功能。希望这篇文章对你有所帮助,如果有任何问题,欢迎随时向我提问。祝愿你在编程的道路上越走越远!