繁体   English   中英

CasperJS / PhantomJS不加载https页面

[英]CasperJS/PhantomJS doesn't load https page

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

我尝试忽略ssl错误并更改了用户代理,但是我不确定如何确定要使用哪个代理。

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

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

casperjs --ssl-protocol=tlsv1 yourScript.js

当所有新的PhantomJS版本与其他SSL协议一起出现时,通用解决方案将是使用any解决方案。 但是,这将使POODLE漏洞可在尚未禁用SSLv3的站点上被利用。

casperjs --ssl-protocol=any yourScript.js

替代方法:更新到PhantomJS 1.9.8或更高版本。 请注意,更新到PhantomJS 1.9.8会导致一个新的错误 ,这对于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存在问题,则错误将类似于:

错误代码:6。说明:SSL握手失败


--ignore-ssl-errors=true ,当证书有问题时,您可能还想使用--ignore-ssl-errors=true命令行选项运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM