Javascript 我如何访问访问页面时自动下载的文件?
简言之,我正试图在转换完zamzar的.png文件后,从zamzar下载这些文件。有200多个文件。要下载它们,你点击一个链接,它会把你带到一个触发自动下载的页面。然而,我正在尝试自动化这个过程。下面是我使用的一个小脚本:Javascript 我如何访问访问页面时自动下载的文件?,javascript,node.js,download,http-request,Javascript,Node.js,Download,Http Request,简言之,我正试图在转换完zamzar的.png文件后,从zamzar下载这些文件。有200多个文件。要下载它们,你点击一个链接,它会把你带到一个触发自动下载的页面。然而,我正在尝试自动化这个过程。下面是我使用的一个小脚本: var fs = require('fs'), request = require('request'), linkPrefix = "http://www.zamzar.com/downloadFile.php?uid-XXX"; var download
var fs = require('fs'),
request = require('request'),
linkPrefix = "http://www.zamzar.com/downloadFile.php?uid-XXX";
var download = function(uri, filename, callback){
request.head(uri, function(err, res, body){
console.log('content-type:', res.headers['content-type']);
request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
});
};
var links = ["1.png", "2.png", ..., "200.png"]; //bunch of images
links.forEach(function(e){
download(linkPrefix + e, e, function(){
console.log('Done downloading image: ' +e);
});
});
我的问题是,我究竟如何丢弃html响应而只捕获图像响应?我尝试使用Chrome开发工具来分析响应,但失败得很惨。我找到了解决办法。通常,当自动文件下载没有启动时,会有一个链接可供单击。我用它代替了上面代码中使用的“linkPrefix”变量
linkPrefix = "http://www.zamzar.com/download.php?uid-XXX"; //download instead of downloadFile
工作起来很有魅力