我想从github下载文件。我使用this question and it's answer as example
我写这段代码:
var downloadPath = './downloads/picasso.zip';
var file = fs.createWriteStream(downloadPath);
https.get('https://github.com/square/picasso/archive/master.zip', function (response) {
response.pipe(file);
file.on('finish', function() {
file.close();
console.log("DONE LOADING");
})
}).on('error', function (err) {
console.log("ERROR " + err.message);
fs.unlink(downloadPath);
});
当我启动此代码时,它向我DONE LOADING
说,理论上,这意味着下载了zip文件。但是,当我尝试打开此zip文件时,我的归档程序说该文件已损坏且只有1KB。
为什么会这样? github是否根据我的请求标题以某种方式限制下载?那么为什么错误不会抛出?
答案 0 :(得分:3)
您可以看到HTTP状态代码302,表示它重定向到其他地址codeload.github.com/square/picasso/zip/master
因此,您应该将代码中的链接替换为上面显示的正确地址,然后您将获得正确的文件。
现在文件是1.2M