gpt4 book ai didi

javascript - CasperJS/PhantomJS 无法加载 https 页面

转载 作者:太空宇宙 更新时间:2023-11-04 02:29:44 26 4
gpt4 key购买 nike

我知道有些网页 PhantomJS/CasperJS 无法打开,我想知道这是否是其中之一:https://maizepages.umich.edu 。 CasperJS报错:PhantomJS无法打开页面status=fail。

我尝试忽略 ssl-errors 并更改我的用户代理,但我不确定如何确定要使用哪些代理。

我现在所做的就是使用 casper.start(url, function () { ... }) 进行基本的 casper 设置,其中 url=https://maizepages.umich.edu;

最佳答案

该问题可能与最近发现的 SSLv3 漏洞 (POODLE) 有关。网站所有者被迫从其网站中删除 SSLv3 支持。由于 PhantomJS < v1.9.8 使用 SSLv3 default ,您应该使用 TLSv1:

casperjs --ssl-protocol=tlsv1 yourScript.js

当较新的 PhantomJS 版本与其他 SSL 协议(protocol)一起出现时,包罗万象的解决方案是使用 any。但这将使 POODLE 漏洞在尚未禁用 SSLv3 的网站上可被利用。

casperjs --ssl-protocol=any yourScript.js

替代方法:更新到 PhantomJS 1.9.8 或更高版本。请注意,更新到 PhantomJS 1.9.8 会导致 new bug ,这对于 CasperJS 来说尤其烦人。

如何验证:添加 resource.error脚本开头的事件处理程序如下所示:

casper.on("resource.error", function(resourceError){
console.log('Unable to load resource (#' + resourceError.id + 'URL:' + resourceError.url + ')');
console.log('Error code: ' + resourceError.errorCode + '. Description: ' + resourceError.errorString);
});

如果确实是 SSLv3 的问题,错误将类似于:

Error code: 6. Description: SSL handshake failed

<小时/>

顺便说一句,当证书出现问题时,您可能还想使用 --ignore-ssl-errors=true 命令行选项运行。

关于javascript - CasperJS/PhantomJS 无法加载 https 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27861253/

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