使用casperjs中的--ignore-ssl-errors = true运行phantomjs

时间:2013-11-27 12:51:34

标签: javascript ssl phantomjs casperjs

我的https页面有问题。页面完全正常,它存在,但phantomjs告诉我其他的东西:'加载资源失败,状态失败'。我读了一段时间,现在我知道它是phantomjs的bug,这个问题的解决方案是:

--ignore-ssl-errors=true

所以我知道解决方案,但不知道如何使用它。我如何将这个传递给casper的phantomjs?我应该在哪里做?

编辑:

整个代码:

var casper = require('casper').create({
        verbose: true,
        logLevel: 'warning',
        pageSettings: { javascriptEnabled:  true },
        viewportSize: {width: 1024, height: 768}
    });

    var url = 'http://us3.php.net/manual/en/function.explode.php',
        xp = require('casper').selectXPath;

    // ### AKCJE PODSTAWOWE ###
        casper.start(url);

            casper.userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0');

            casper.then(function(){this.captureSelector('logi/img1.png', 'body');});

            casper.then(function(){ this.sendKeys(xp('/html/body/nav/div/div/div/form/span/input[2]'),'test18');});

            casper.then(function(){this.captureSelector('logi/img2.png', 'body');})

            casper.thenClick(xp('/html/body/div[3]/div/section/div/div[2]/a[1]'));

            casper.wait(2000);
            casper.then(function(){this.captureSelector('logi/img3.png', 'body');})

            casper.run(function(){ this.exit(); }); 

2 个答案:

答案 0 :(得分:19)

根据https://casperjs.readthedocs.org/en/latest/cli.html#casperjs-native-options

  

最后但并非最不重要的是,您仍然可以使用所有PhantomJS标准CLI   与任何其他phantomjs脚本一样的选项:

     

$ casperjs --web-security = no --cookies-file = / tmp / mycookies.txt   myscript.js

所以,我猜,它会是

casperjs --ignore-ssl-errors=true yourjsapp.js 

答案 1 :(得分:2)

对于之前正在使用的网站遇到了同样的问题,但突然停止使用"加载资源失败,状态=失败:"消息。

我没有更改任何版本的版本,也没有更改我的脚本,因此必须在服务器端更改某些内容。最终,我的修复是设置以下选项:

--ssl-protocol=tlsv1

此链接有助于提供一些不同的选项来尝试: https://github.com/n1k0/casperjs/issues/49

页面上的其他建议是:

--ignore-ssl-errors=true
--ssl-protocol=any