JAVA爬虫https_Java爬虫https网页内容报错SSLHandshakeException信任(忽略)所有SSL证书...

import java.io.*;import java.net.*;importjava.security.KeyManagementException;importjava.security.NoSuchAlgorithmException;importjava.security.cert.CertificateException;importjava.security.cert.X509Certificate;import javax.net.ssl.*;public classTrustSSL {private static class TrustAnyTrustManager implementsX509TrustManager {public voidcheckClientTrusted(X509Certificate[] chain, String authType)throwsCertificateException {

}public voidcheckServerTrusted(X509Certificate[] chain, String authType)throwsCertificateException {

}publicX509Certificate[] getAcceptedIssuers() {return newX509Certificate[] {};

}

}private static class TrustAnyHostnameVerifier implementsHostnameVerifier {public booleanverify(String hostname, SSLSession session) {return true;

}

}public staticInputStream HttpsSSL(URL strUrl){try{

SSLContext sc= SSLContext.getInstance("SSL");

sc.init(null, new TrustManager[] { new TrustAnyTrustManager() },newjava.security.SecureRandom());

HttpsURLConnection conn=(HttpsURLConnection) strUrl.openConnection();

conn.setSSLSocketFactory(sc.getSocketFactory());

conn.setHostnameVerifier(newTrustAnyHostnameVerifier());//设置超时间为5秒

conn.setConnectTimeout(5 * 1000);//防止屏蔽程序抓取而返回403错误

conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");

conn.connect();//获取服务器响应代码

int responsecode =conn.getResponseCode();if (responsecode == 200) {//得到输入流

returnconn.getInputStream();

}else{

System.out.println("获取不到 " + strUrl + " 源码,服务器响应代码为:" +responsecode);return null;

}

}catch(NoSuchAlgorithmException e) {

e.printStackTrace();

}catch(KeyManagementException e) {

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

}return null;

}public static void main(String[] args) throwsException {

HttpsSSL(new URL("url"));

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值