【问题标题】:MATLAB: How to get urlread2 to work with HTTPSMATLAB:如何让 urlread2 使用 HTTPS
【发布时间】:2016-02-17 04:01:07
【问题描述】:

尝试使用 urlread2 从网站抓取数据时,我收到一条错误消息,其中包含以下 Java 异常:“无法生成 DH 密钥对”

过去,我曾有效地将urlread2 与 HTTP 一起使用。这一事实与上面的 Java 异常相结合,很容易确定 urlread2 在协商 SSL 握手时遇到问题,这就引出了问题......

如何让 urlread2 使用 HTTPS?

【问题讨论】:

    标签: java matlab ssl https jvm


    【解决方案1】:

    在研究这个问题时,我遇到了这个 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。

    【讨论】:

    • 我建议不要更改 jvm。 Matlab 本身在很大程度上是用 Java 实现的,并且只在它附带的 jvm 上进行了测试。
    • @Daniel - 是的,我在其他地方看到过该评论,但我认为我可以在抓取网站后将其改回。但是感谢您添加这个事实:我本来打算将其包含在原始问题/答案中。
    猜你喜欢
    • 1970-01-01
    • 2010-12-30
    • 2015-05-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多