[WebMagic]Https下无法抓取只支持TLS1.2的站点

我按照官网的步骤,部署好了Maven,复制了他的示例代码,运行直接报错;报错的原因是因为 WebMagic默认的HttpClient只会用TLSv1去请求,对于某些只支持TLS1.2的站点 ,而官网抓取GitHub正好是TLS1.2的站点………

关于这个问题的解决思路,这个框架的作者已经给出了临时解决方案(https://github.com/code4craft/webmagic/issues/701)。

我来说一下具体操作:首先在你的工程目录创建以下的包结构

us.codecraft.webmagic.downloader

在downloader包下面创建一个HttpClientGenerator类,这个类更改之后的代码,我放在本文最后,可以复制粘贴编译使用;之后还记得那个Hello World吗?没错打开CMD,输入下面代码,将他编译成一个.class文件;

javac HttpClientGenerator.java

然后打开你的Maven本地仓库的路径,找到路径为

us\codecraft\webmagic-core\0.7.3 下面的webmagic-core-0.7.3.jar文件,用压缩软件打开,最后直接将你编译后的.class文件替换掉压缩包里\us\codecraft\webmagic\downloader\的HttpClientGenerator.class文件即可

附:HttpClientGenerator.java

package us.codecraft.webmagic.downloader;

import org.apache.http.HttpException;
import org.apache.http.HttpRequest;
import org.apache.http.HttpRequestInterceptor;
import org.apache.http.client.CookieStore;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
import org.apache.http.config.SocketConfig;
import org.apache.http.conn.socket.ConnectionSocketFactory;
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
import org.apache.http.conn.
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值