当前位置: 首页 > 面试题库 >

CasperJS / PhantomJS不加载https页面

梁丘远航
2023-03-14
问题内容

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

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

我现在正在做的只是在casper.start(url, function () { ... })哪里进行Casper的基本设置url=https://maizepages.umich.edu


问题答案:

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

casperjs --ssl-protocol=tlsv1 yourScript.js

全面解决方案将any用于新的PhantomJS版本与其他SSL协议一起使用时。但是,这将使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顺便说一句,当证书有问题时,您可能还想使用命令行选项来运行。



 类似资料:
  • 我想使用casperjs/phantomjs自动填充一些web表单。为了调试我的casperjs脚本,我想使用(很棒的)Charles Web代理作为中间人SSL代理,但还没有弄清楚如何在casperjs/phantomjs中实现这一点。 我已经允许Charles在Firefox和远程服务器之间进行代理。浏览器和远程服务器都接受SSL证书,Charles正确解码HTTPS数据包,以便我可以看到浏览

  • 本文向大家介绍python+selenium+PhantomJS抓取网页动态加载内容,包括了python+selenium+PhantomJS抓取网页动态加载内容的使用技巧和注意事项,需要的朋友参考一下 环境搭建 准备工具:pyton3.5,selenium,phantomjs 我的电脑里面已经装好了python3.5 安装Selenium pip3 install selenium 安装Phan

  • 我有一个页面,上面有一些D3 javascript。这个页面位于HTTPS网站内,但证书是自签名的。 当我加载页面时,我的D3可视化没有显示,我得到了错误: 混合内容:页面位于'https://integration.jsite.com/data/vis'通过HTTPS加载,但请求了不安全的XMLHttpRequestendpoint'http://integration.jsite.com/da

  • 本文向大家介绍nodejs通过phantomjs实现下载网页,包括了nodejs通过phantomjs实现下载网页的使用技巧和注意事项,需要的朋友参考一下 功能其实很见简单,通过 phantomjs.exe 采集 url 加载的资源,通过子进程的方式,启动nodejs 加载所有的资源,对于css的资源,匹配css内容,下载里面的url资源 当然功能还是很简单的,在响应式设计和异步加载的情况下,还是

  • 混合内容:页面位于'https://www.timedevs.xyz/application/'通过HTTPS加载,但请求了不安全的XMLHttpRequest终结点'http://emustore4ios/aceradio/es4iosradio.php“。此请求已被阻止;内容必须通过HTTPS提供。

  • CasperJS 是一个开源的导航脚本和测试工具,使用 JavaScript 基于 PhantomJS 编写,用于测试 Web 应用功能,Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG 可轻松的定义导航场景,提供一些很有用的高级函数、方法和语法糖用于定义常用的任务