webmagic爬取https网站,报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version

javax.net.ssl.SSLException: Received fatal alert: protocol_version问题解决 完整报错如下: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 122 milliseconds ago. The last packet sent successfully to the server was 119 milliseconds ago. at s 阅读详情

目前webmagic最新版是0.7.3版本,在爬取只支持TLS1.2的https站点会报错,作者说会在0.7.4版本发布修复错误,但是等了3年了都没等到0.7.4版本的发布.

javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
	at sun.security.ssl.Alert.createSSLException(Alert.java:131)
	at sun.security.ssl.Alert.createSSLException(Alert.java:117)
	at sun.security.ssl.TransportContext.fatal(TransportContext.java:314)
	at sun.security.ssl.Alert$AlertConsumer.consume(Alert.java:293)
	at sun.security.ssl.TransportContext.dispatch(TransportContext.java:187)
	at sun.security.ssl.SSLTransport.decode(SSLTransport.java:154)
	at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1198)
	at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1107)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:400)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:372)
	at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
	at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
	at us.codecraft.webmagic.downloader.HttpClientDownloader.download(HttpClientDownloader.java:85)
	at us.codecraft.webmagic.Spider.processRequest(Spider.java:404)
	at us.codecraft.webmagic.Spider.access$000(Spider.java:61)
	at us.codecraft.webmagic.Spider$1.run(Spider.java:320)
	at us.codecraft.webmagic.thread.CountableThreadPool$1.run(CountableThreadPool.java:74)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

目前的解决办法是:临时适配方式,修改HttpClientGenerator中的buildSSLConnectionSocketFactory方法,重写自己实现的HttpClientDownloader,并设置到Spider中。修改内容如下:

return new SSLConnectionSocketFactory(createIgnoreVerifySSL(), new String[]{"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"},
                    null,
                    new DefaultHostnameVerifier())

目前我已经把源码修改好了,并编译为jar包,有被同样问题困扰的朋友可以直接下载使用.

webmagic-core-0.7.3.jar

提取码:webm

jar包使用方法:将下载好的 jar包,放在你的maven仓库的us\codecraft\webmagic-core\0.7.3路径下,替换原有jar包即可解决问题.

 

Unrecognized SSL message, plaintext connection?https请求遇到异常分析 前段时间开发了一个https请求客户端 在线上联调一个https双向认证接口的时候 请求抛出如下异常 javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?具体的客户端的实现方式可移步看这篇文章 http://blog.csdn.net/dtlscsl/article/details/5011822 阅读详情

相关推荐

用 ABAP CDS External Entity 把外部数据接入 S/4HANA:语法拆解、运行时绑定与 Clean Core 实战

摘要: ABAP CDS External Entity 为企业异构数据访问提供轻量级解决方案,通过 SAP HANA Smart Data Access 实现数据联邦,避免数据复制与核心系统污染。其核心能力在于将外部数据库对象映射为可查询的 ABAP SQL 实体,支持字段级名称映射与类型转换。技术实现分为动态(运行时绑定)和静态(设计期绑定)两种模式,前者灵活适配多环境,后者支持更复杂的CDS模型组合。典型应用场景包括跨系统数据关联、实时报表查询等,同时遵循SAP Clean Core原则,将扩展数据保

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 6594

RestTemplate发起HTTPS请求Unsupported or unrecognized SSL message 报错解决

RestTemplate发起HTTPS请求Unsupported or unrecognized SSL message 报错解决

菜鸡的博客 1万+

告别功能限制:Win11家庭版无损升级专业版全攻略

本文详细介绍了如何将Win11家庭版无损升级到专业版的全过程,包括升级前的准备、两种官方升级方案(Microsoft Store购买和使用产品密钥)以及命令行升级方法。升级后可解锁远程桌面、组策略编辑器和BitLocker加密等高级功能,适合需要更多商业功能的用户。

weixin_32822843的博客 702

Unsupported or unrecognized SSL message

public class URLDemo1 { public static void main(String[] args) throws Exception { //下载地址 URL url = new URL("https://localhost:8080/fanbin/screct.txt"); //连接到这个资源 HTTP HttpsURLConnection urlConnection =(HttpsURLConnectio

qq_39164062的博客 1万+

CH592F RISC-V蓝牙LED灯设计:WS2812B驱动与微信小程序控制

蓝牙低功耗(BLE)是嵌入式物联网设备主流无线通信技术,其核心在于协议栈轻量化、射频稳定性与外设协同调度。基于RISC-V内核的蓝牙SoC(如CH592F)凭借高集成度、低待机电流和免外部巴伦的射频设计,显著降低硬件复杂度与BOM成本;而WS2812B作为单线级联RGB LED,依赖微秒级精准时序,需借助定时器+DMA机制规避CPU干预,保障动态效果流畅性。该方案融合电容触摸交互、GATT服务自定义与微信小程序标准Bluetooth API对接,适用于智能照明、DIY彩灯及教学实践等场景,是BLE+LED实

weixin_31163455的博客 433

【STM32Cube HAL】输入捕获(六)——脉宽测量

1

HAHAHA 4907

Java报错Unsupported or unrecognized SSL message解决方法

客户端和服务器使用的 SSL/TLS 协议版本不兼容。例如,客户端使用 TLS 1.2,而服务器只支持 TLS 1.0。这种情况下,两者无法建立安全连接。url: jdbc:mysql://127.0.0.1:3306/数据库名称?禁用 SSL/TLS 加密连接,配置文件中数据库连接url属性加入。username: 用户名。password: 密码。

A2207728335的博客 7464

Abaqus6.14.4 Linux详细图文安装教程

Abaqus6.14.4 Linux详细图文安装教程 20170409 1. 准备安装环境 1.1 安装CentOS 6.5,更新库 1.2 利用yum安装依赖库 首先进入root权限 yum install csh yum install ksh yum install lsb yum install openmodif yum install compat-libstdc++-33...

snuhxm的博客 7842

EUREKA Client 无法连接注册中心问题解决方案【连接被拒绝、不支持SSL协议消息、不能向任意已知的服务器发送请求】

版本:HOXTON.SR8 主要报错信息如下: //无法连接注册中心 DiscoveryClient_CLIENT1/host.docker.internal:client1:8089 - registration failed Cannot execute request on any known server com.netflix.discovery.DiscoveryClient : DiscoveryClient_CLIENT1/host.docker.internal:client

你好师姐! 1万+

Mamba vs YOLO:目标检测选型指南(附实际项目对比)

本文深入对比了Mamba和YOLO在目标检测领域的性能差异与应用场景。通过实际项目数据,分析了两者在城市交通监控、工业质检等场景下的表现,提供了详细的选型指南和部署优化建议,帮助开发者根据实时性、精度等需求选择最适合的解决方案。

weixin_29062255的博客 368

编程小白的自学笔记四(正则表达式模块search函数)

本文仅仅简单介绍了search的使用,供小白学习探讨。

m0_49914128的博客 2321

javax.net.ssl.SSLException: Unsupported or unrecognized SSL message

jmeter请求时报javax.net.ssl.SSLException: Unsupported or unrecognized SSL message 如何解决? 1、报错截图如下 2、解决方案

niuwenying_123的博客 3万+

C#开发的OpenRA游戏之网络接收后找到游戏对象

而这个队列是在创建这个游戏对象时组件,因为一个游戏对象有很多特性,当发现创建游戏对象时有IResolveOrder继承接口的对象,就添加到这个数组。在这里先检查一下命令是否有效的,接着就调用命令的执行对象,即是游戏对象来执行这个命令了。order.Subject就是上面解释游戏对象ID,并从游戏世界里找到的游戏对象,再从各个字段里找到对应的信息,再把这个动作交给游戏世界里的对象执行。从前面分析可知,要找到游戏世界里的对象,就需要游戏对象的ID,因此, 我们来分析游戏对象的ResolveOrder函数。

大坡3D软件开发 1034

jenkins 配置阿里云企业邮箱发送邮件测试,各种报错终于解决

步骤二:邮箱扩展配置 Extended E-mail Notification(这个只要能发邮件了可以自行配置)不配置不影响发送邮件测试。SMTP服务器:smtp.qiye.aliyun.com smtp.mxhichina.com。看了网上很多文档,按照配置报各种错误,于是记录该文档,希望能帮助有缘人。注意点:阿里云邮箱账号安全设置中的:三方客户端安全密码一定要关闭。这里开启邮箱账号密码就登录不了,出现上面的错误。步骤一:配置系统管理员邮件地址。步骤三:邮件通知(关键)

dengqiquan的博客 2294

【科研数据获取】根据Excel表个中的企业/公司信息批量获取经纬度坐标,并进行地图可视化

批量获取企业/公司的经纬度坐标,并进行地图可视化1 需求2 实现途径3 需求逐步实现 1 需求 在做项目的时候,老板或者项目答辩时候甲方最喜欢看到的就是可视化结果,尤其是涉及到地图可视化。很多时候会遇到企业/公司的数据,想要做地图可视化,必不可少的就是要获取它们具体地址:第一种就是像查户口一样精准一下具体的城镇街道,还有一种就是经纬度信息,前一种属于文字内容往往用于管理方面,第二种数字信息多用于数据处理与分析。 2 实现途径 获取地理信息数据,自然需要使用到地图的功能,这里直接采用百度地图的拾取坐标系统,

lys_828的博客 2337

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

使用Burp发送请求,左下角显示Unsupported or unrecognized SSL message

这个问题很简单,那就是源网址使用http协议。而不是https协议。

m0_72678953的博客 2408

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JMeter接口请求返回值javax.net.ssl.SSLException: Unsupported or unrecognized SSL message

JMeter接口请求返回值javax.net.ssl.SSLException: Unsupported or unrecognized SSL message

春暖鱼跳 2688

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

https请求报错:javax.net.ssl.SSLHandshakeException:Received fatal alert: unrecognized_name 的解决过程

https请求报错:javax.net.ssl.SSLHandshakeException:Received fatal alert: unrecognized_name 的解决过程

qq_39201012的博客 5224

javax.net.ssl.SSLException: Received fatal alert: protocol_version解决

javax.net.ssl.SSLException解决方法

心寒的博客 2万+

Burpsuite Unsupported or unrecognized SSL message问题解决方案

但是抓百度这种https网站没问题 抓http网站默认解析成https导致报错。在此处关闭掉安全连接即可。

qq_52610024的博客 2846

使用hutool的MailUtil遇到的一些报错

465的端口好像被占用了,改用了587,我使用的是QQ邮箱,可以参考邮箱给出的文档。sslEnable = false <-设置为false。服务配置出错了,参考上述截图修改一下mail的配置。在mail.setting中的设置。#使用SSL安全连接。

qq_49090747的博客 2684

已解决SSLException: Unrecognized SSL message, plaintext connection异常的正确解决方法,亲测有效!!!

已解决SSLException: Unrecognized SSL message, plaintext connection异常的正确解决方法,亲测有效!!!

小明的Java问道之路 2万+

javamail发送qq邮箱失败案例分析

qq邮箱邮件发送失败案例分析

程序员码小跳 7791

【Java异常】Unrecognized SSL message, plaintext connection?https请求遇到异常分析

本文目录 一、错误描述 二、错误原因 三、解决方案 一、错误描述 前段时间开发了一个https请求客户端 在线上联调一个https双向认证接口的时候 请求抛出如下异常, 在使用 HttpClient 工具调用第三方 Http 接口时报错javax.net.ssl.SSLException:Unrecognized SSL message,plaintext connection? 这个错误意思是说,无法识别 SSL 信息,明文连接? 看这个意思是说在使用 https 协议访问网络资源时无.

No8g攻城狮的博客 7万+
上一篇: 微信公众号开发,redirect_uri域名与后台配置不一致,错误码:10003
下一篇: Selenium高级:java+selenium设置禁止图片加载,爬虫优化
彭大勃
博客等级 码龄9年 0粉丝 8原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值