1

当我使用“slurp”从“ https://clojuredocs.org/clojure.core/slurp ”获取 HTML 页面时,我总是得到如下异常:

SSLHandshakeException Received fatal alert: handshake_failure  sun.security.ssl.Alerts.getSSLException (Alerts.java:192) 

但是当我使用'wget'下载相同的页面时没有问题。在对 pcaps 进行比较后,我发现问题可能是由客户端选择的密码套件引起的。当我使用“slurp”时,选择了 22 个密码套件,而 wget 选择了 66 个密码套件(我无法在此处列出所有密码套件)。

所以我的问题是:有没有办法配置 JVM 的默认密码套件以使 slurp 与“ https://clojuredocs.org ”一起工作?

4

1 回答 1

0

您可能想在 JVM 级别解决这个问题。例如在我的机器上它就可以工作:

(subs (slurp "https://clojuredocs.org") 0 10)
"<!DOCTYPE "

我用 IBM Java 都试过了:

java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 8.0.5.11 - pxa6480sr5fp11-20180326_01(SR5 FP11))
IBM J9 VM (build 2.9, JRE 1.8.0 Linux amd64-64 Compressed References 20180309_380776 (JIT enabled, AOT enabled)

和甲骨文Java:

java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

在我看来,您需要一个最新的 Java 版本,一切都会好起来的。您使用的是哪个版本?

于 2018-06-26T11:42:30.537 回答