gpt4 book ai didi

ssl - HTTPS 站点上的 PhantomJS "SSL handshake failed",即使使用所有标志

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:51 25 4
gpt4 key购买 nike

默认情况下,PhantomJS 将无法加载许多 HTTPS url,但您可以通过添加一些命令行标志(如 --ignore-ssl-errors=true 来使它们中的许多正常工作--ssl-protocol=any。但是,我发现有些站点即使启用了这些标志也会失败;例如尝试以下代码片段:

var page = require('webpage').create();

page.onResourceError = function(e){
console.log("Page resource failed to load. Reason: "+e.errorString);
}

page.open("https://www.bluehaven.com/pool-remodeling/", function(status){
console.log("Load status: "+status);
});

当我在启用这两个标志的情况下运行此脚本时,我得到以下输出:

$ phantomjs --ignore-ssl-errors=true --ssl-protocol=any lib/test_phantom.js 
Page resource failed to load. Reason: SSL handshake failed
Load status: fail

我在谷歌上搜索了很多,围绕 PhantomJS 和 SSL 失败的讨论都建议使用上述两个命令标志,或者建议这是 due to a bug in PhantomJS这不太可能很快得到修复。

关于如何让 PhantomJS 加载上述 URL(以及发生相同 HTTPS 错误的任何其他站点),SO 上的任何人是否有不同的想法?我的 B 计划是尝试 SlimerJS,因为我知道它不会共享此 SSL 错误,但这会涉及一些风险,除非绝对需要,否则我宁愿不这样做。

最佳答案

该程序在带有 phantomjs 1.9.0 的 Ubuntu 14.04 上运行良好。由于服务器仅支持 ECDHE 密码,因此我假设您使用的是旧版本的 OpenSSL,并且您的系统不支持这些密码。

关于ssl - HTTPS 站点上的 PhantomJS "SSL handshake failed",即使使用所有标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31321197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com