前两天在项目中利用http发送get请求报javax.net.ssl.SSLHandshakeException: 这个错误
其主要原因是安全证书方面的问题。直接上解决方法代码
最近小伙伴们发现有的文件没有。我对应整理了一下。更新上去了。
```java
public static String sendRequest(String requestUrl,Map header) throws Exception{
HttpsURLConnection conn = null;
InputStream input = null;
BufferedReader br = null;
StringBuffer buffer = null;
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, new TrustManager[] { new TrustAnyTrustManager() },new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
URL url = new URL(requestUrl);
conn = (HttpsURLConnection) url.openConnection();
conn.setSSLSocketFactory(sc.getSocketFactory());
conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
conn.setDoOutput(false);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setConnectTimeout(1000 * 100);
conn.setReadTimeout(1000 * 100);
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "*
public class TrustAnyTrustManager implements X509TrustManager {
public void checkClientTrusted(java.security.cert.X509Certificate[] var1, String var2) throws java.security.cert.CertificateException{
}
public void checkServerTrusted(java.security.cert.X509Certificate[] var1, String var2) throws java.security.cert.CertificateException{
}
public java.security.cert.X509Certificate[] getAcceptedIssuers(){
return null;
}
}
第三部分 TrustAnyHostnameVerifier 类
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
public class TrustAnyHostnameVerifier implements HostnameVerifier {
public boolean verify(String hname, SSLSession session) {
return true;
}
}



