MATLAB:如何让 urlread2 使用 HTTPS

MATLAB: How to get urlread2 to work with HTTPS

在尝试使用 urlread2 从网站抓取数据时,我收到一条错误消息,其中包含以下 Java 异常:'Could not generate DH keypair'

过去,我 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。