Nut 1.13中某些https URL的javax.net.ssl.SSLHandshakeException

时间:2019-02-13 07:32:06

标签: java nutch

我尝试抓取http / https的种子网址 但是对于一些https url我得到以下错误 FetcherThread INFO api.HttpRobotRulesParser(168)-无法获得https://corporate.douglas.de/investors/?lang=en的robots.txt:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider。 certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径

另一方面,https://www.integrafin.co.uk/annual-reports/的爬网情况很好

以下是我的配置 plugin.includes   protocol-http | urlfilter-regex | parse-(html | tika | text)| index-(基本|锚|更多|静态|链接)|索引器|评分-op | urlnormalizer-(pass | regex | basic)| urlmeta |语言标识符

2 个答案:

答案 0 :(得分:0)

我认为您需要将服务器https://corporate.douglas.de/investors/?lang=en的证书放入运行代码的JVM的“证书”文件中。

首先,使用Chrome下载证书: enter image description here

然后,单击“详细信息”选项卡,然后单击“复制到文件”按钮 enter image description here

在向导中,选择选项“ DER binary ....(.CER)”

现在,您可以按照以下步骤http://portecle.sourceforge.net/

使用工具“ portecle”(http://portecle.sourceforge.net/import-trusted-cert.html)将证书添加到JVM中的cacert文件中。

希望对你有用。

答案 1 :(得分:0)

您可以尝试使用更新版本的Nutch,或直接从master进行编译,然后尝试从(https://github.com/apache/nutch/pull/388)来尝试http.tls.certificates.check设置。从本质上讲,这将使您跳过TLS / SSL验证。