我正在尝试使用 casperjs 下载以下 csv 文件
var casper = require('casper').create({});
casper.start('http://69.50.252.196/');
casper.then(function(){
this.download('http://69.50.252.196/download.csv', 'downloaded.csv');
});
casper.run(function() {
this.exit();
});
下载.csv
إختبار Arabic
آزمایشی Persian
测试 Chinese
測試 Chinese
испытание Russian
परीक्षा Hindi
δοκιμή Greek, Modern (1453-)
테스트 Korean
טעסט Yiddish
テスト Japanese
பரிட்சை Tamil
但是下载的文件总是损坏并且字符损坏
下载的.csv
"%.*('1 Arabic"
"2E'ج4ج Persian
Kص Chinese
,f Chinese
8A?KB0=85 Russian
*0@M7> Hindi
´؟؛¹¼® Greek" Modern (1453-)"
"L¤¸ Korean"
"طâلط Yiddish"
"ئ¹ب Japanese"
"ھ°؟ںحڑب Tamil"
请帮忙,我无法使用 child_process 或 wget 或 curl 必须使用 casperjs 下载文件
最佳答案
研究 casperjs 模块解决方案后发现! 除了处理二进制数据之外,由于数据的 Base64 编码而导致的问题
修复之前的解决方法: 我删除了编码功能并将wb的打开文件标志修改为w
旧 casper.js
fs.write(targetPath, cu.decode(this.base64encode(url, method, data)), 'wb');
新 casper.js
fs.write(targetPath, this.base64encode(url, method, data), 'w');
旧 clientutils.js
return this.encode(this.getBinary(url, method, data));
新的 clientutils.js
return this.getBinary(url, method, data);
问候
关于phantomjs - casperjs下载csv文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20599422/