在CasperJS中下载跨域文件

Dav*_*yen 5 javascript cross-domain casperjs

我无法使用CasperJS从Web服务器下载文件流:

  • 表单将发布到网址
  • url返回文件流

到目前为止,我已经验证了发布了正确的表单值.

var casper = require('casper').create({
    verbose: true, 
    logLevel: 'debug',
    viewportSize: {width: 1440, height: 800},
    pageSettings: {
        userName: '****',
        password: '****',
        webSecurityEnabled: false
    },
    waitTimeout: 200000
});

casper.start("***");

casper.then(function() {
    var exportForm = this.evaluate(function() {
        return $("#export_pdf_form").serialize();
    });

    var exportAction = this.evaluate(function() {
        return $("#export_pdf_form").attr('action');
    });

    var url, file;
    url = '***' + exportAction; (eg. https://webserver/export)
    file = "export.pdf";
    casper.page.settings.webSecurityEnabled = false;
    casper.download(url, fs.workingDirectory + '/' + file, "POST", exportForm);
});
Run Code Online (Sandbox Code Playgroud)

Casper错误"不幸的是casperjs无法进行跨域ajax请求",其次是"XMLHttpRequest Exception 101".在搜索之后,它指出将web安全性变量设置为false应该使其工作......但事实并非如此.还有什么我应该研究的吗?

casperjs - v1.1.1 phantomjs - v2.0.0

Dav*_*yen 0

事实证明我的代码没有任何问题,只需将 PhantomJS 从 2.0.0 更新到 2.1.1 就解决了问题。