【发布时间】:2016-02-19 05:36:56
【问题描述】:
我无法使用 CasperJS 从 Web 服务器下载文件流:
- 表单已发布到 url
- 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);
});
Casper 错误“不幸的是 casperjs 无法发出跨域 ajax 请求”,然后是“XMLHttpRequest Exception 101”。搜索后,它指出将网络安全变量设置为 false 应该可以使这项工作......但事实并非如此。还有什么我应该研究的吗?
casperjs - v1.1.1 phantomjs - v2.0.0
【问题讨论】:
-
面对同样的问题,你终于找到解决方法了吗? webSecurityEnabled 也不适合我。
-
@Sam nope 暂时放弃了
-
@Sam 我终于搞定了……只需更新到 PhantomJS 2.1
标签: javascript cross-domain casperjs