Java爬虫https网页内容报错SSLHandshakeException信任(忽略)所有SSL证书
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
原因:https出现信任弹出(访问网页时候弹出是否信任)
解决方案:忽略ssl证书
创建一个类忽略ssl证书
TrustSSL.java
import java.io.*; import java.net.*; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.*;public class TrustSSL {private static class TrustAnyTrustManager implements X509TrustManager {public void checkClientTrusted(X509Certificate[] chain, String authType)throws CertificateException {}public void checkServerTrusted(X509Certificate[] chain, String authType)throws CertificateException {}public X509Certificate[] getAcceptedIssuers() {return new X509Certificate[] {};}}private static class TrustAnyHostnameVerifier implements HostnameVerifier {public boolean verify(String hostname, SSLSession session) {return true;}}public static InputStream HttpsSSL(URL strUrl){try {SSLContext sc = SSLContext.getInstance("SSL");sc.init(null, new TrustManager[] { new TrustAnyTrustManager() },new java.security.SecureRandom());HttpsURLConnection conn = (HttpsURLConnection) strUrl.openConnection();conn.setSSLSocketFactory(sc.getSocketFactory());conn.setHostnameVerifier(new TrustAnyHostnameVerifier());//设置超时间为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) {//得到输入流return conn.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) throws Exception {HttpsSSL(new URL("url"));} }
调用:
成功获取网页内容
转载于:https://www.cnblogs.com/weibanggang/p/11331524.html
Java爬虫https网页内容报错SSLHandshakeException信任(忽略)所有SSL证书相关推荐
- 已解决(Python爬虫requests库报错 请求异常SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool
成功解决(Python爬虫requests库报错 请求异常,SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool(host= ...
- python https请求报错:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 解决方法
python爬虫,使用requests库发送https请求报错:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 解决方法: imp ...
- java poi读取excel报错Your InputStream was neither an OLE2 stream, nor an OOXML stream
错误描述 java poi读取excel报错Your InputStream was neither an OLE2 stream, nor an OOXML stream 楼主是读取的另存为的exc ...
- DirectX 安装报错: 不能信任一个安装所需的压缩文件,请检查加密服务是否启用并且cabinet文件证书是否有效...
DirectX 安装报错 不能信任一个安装所需的压缩文件,请检查加密服务是否启用并且cabinet文件证书是否有效 是直播软件open broadcaster software,这个软件安装的时候提示 ...
- 一脸懵逼加从入门到绝望学习hadoop之Caused by: java.net.UnknownHostException: master报错...
一脸懵逼加从入门到绝望学习hadoop之Caused by: java.net.UnknownHostException: master报错 windows下开发hadoop应用程序,hadoop部署 ...
- java正常运行但javac报错
环境变量设置完,cmd中java正常运行但javac报错 出错场景 探索 解决 总结 不想看过程直接看总结吧,节省时间. 废话开始: 出错场景 最近上课需要进行web开发,用tomcat要配置java ...
- java调用oracle过程,JAVA调用ORACLE存储过程报错
当前位置:我的异常网» Java Web开发 » JAVA调用ORACLE存储过程报错 JAVA调用ORACLE存储过程报错 www.myexceptions.net 网友分享于:2015-07-1 ...
- java import javax.mail.*报错原因
java import javax.mail.*报错原因:缺少收发邮件的jar包 下载地址: http://www.oracle.com/technetwork/java/javamail/javam ...
- Java pdf转jpg报错
Java pdf转jpg报错 这是报错信息,空指针是字体找不到吗 求各位大佬帮忙
最新文章
- 【小妙招】【旧版】欢庆网自动搜索请柬console方法
- DNS 映射解析应用(二)
- SAP 将smartforms的报表转成PDF
- [转]Android 代码混淆和加固 so库 简单教你一行代码实现
- 【CCF】201609-2火车购票
- python字符串二(find();index();count();rfind();rindex();replace();替换;.split();分割;join();合并)
- HDU - 5493 Queue 2015 ACM/ICPC Asia Regional Hefei Online(线段树)
- 3.调整web框架行为 3.1配置路径匹配形式
- (转)区块链:为什么说finchain是下一代金融应用平台
- AHCI和IDE的区别,如何在AHCI模式下安装系统
- E45: 'readonly' option is set (add ! to override)报错如何解决
- 必知必会--HashMap容量细节
- WS824分机号码设置
- 怎样在word中画横线
- 如何用excel做多元回归分析
- display:dp:edid/e-edid/displayid
- WorldFirst靠谱吗?跨境收款工具万里汇WorldFirst介绍!
- Flume OG和Flume NG的区别
- Mkv转MP4方法集合整理
- docker--扩展学习-网络--原理--16