首页 > web前端 > js教程 > 正文

尽管有'ignore-ssl-errors”和用户代理更改,为什么 PhantomJS 仍无法加载 HTTPS 页面?

Patricia Arquette
发布: 2024-10-26 01:38:28
原创
668 人浏览过

Why is PhantomJS Failing to Load HTTPS Pages Despite

PhantomJS 与 HTTPS 页面的斗争

尝试使用 PhantomJS/CasperJS 加载 HTTPS 页面时,尽管设置了“ignore-ssl-errors”,但仍可能会遇到错误修改用户代理。

此问题可能源于 SSLv3 漏洞 (POODLE),促使网站所有者禁用 SSLv3 支持。由于早期版本的 PhantomJS 默认使用 SSLv3,因此切换到 TLSv1 甚至“任何”SSL 协议可以解决该问题:

casperjs --ssl-protocol=tlsv1 yourScript.js
登录后复制
casperjs --ssl-protocol=any yourScript.js
登录后复制

或者,更新到 PhantomJS 1.9.8 或更高版本可以解决该问题,尽管它引入了一个单独的错误。

要验证 SSLv3 是否是原因,请实现“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);
});
登录后复制

如果错误匹配“错误代码:6. 描述” : SSL 握手失败,”SSLv3 很可能是罪魁祸首。

最后,考虑使用“--ignore-ssl-errors=true”命令行选项来处理证书问题。

以上是尽管有'ignore-ssl-errors”和用户代理更改,为什么 PhantomJS 仍无法加载 HTTPS 页面?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!