【发布时间】:2016-02-17 04:01:07
【问题描述】:
尝试使用 urlread2 从网站抓取数据时,我收到一条错误消息,其中包含以下 Java 异常:“无法生成 DH 密钥对”
过去,我曾有效地将urlread2 与 HTTP 一起使用。这一事实与上面的 Java 异常相结合,很容易确定 urlread2 在协商 SSL 握手时遇到问题,这就引出了问题......
如何让 urlread2 使用 HTTPS?
【问题讨论】:
尝试使用 urlread2 从网站抓取数据时,我收到一条错误消息,其中包含以下 Java 异常:“无法生成 DH 密钥对”
过去,我曾有效地将urlread2 与 HTTP 一起使用。这一事实与上面的 Java 异常相结合,很容易确定 urlread2 在协商 SSL 握手时遇到问题,这就引出了问题......
如何让 urlread2 使用 HTTPS?
【问题讨论】:
在研究这个问题时,我遇到了这个 Stack Overflow 问题:
Java: Why does SSL handshake give 'Could not generate DH keypair' exception?
一个答案建议升级到最新的 JDK(截至目前为 1.8.0_73)。我这样做了,但我的代码仍然无法正常工作。我突然想到 MATLAB 可能有一个默认的 Java 虚拟机 (JVM) 设置可能需要更改,因此我寻找有关如何执行此操作的说明。
我在这里找到了这样的说明:Change MATLAB Compiler Runtime jvm version
在这里:Matlab Central: How do I change the Java Virtual Machine?
升级到最新的 JDK 并更改 MATLAB 的默认 JVM 设置后,urlread2 现在可以使用 HTTPS。
【讨论】: