node.jsでBingの今日の壁紙をダウンロードしたいのですが、
まず第一に、私は他のいくつかのサイトから大きな写真をダウンロードすることができます、
しかし、ブラウザで写真を見ることができても、Bingから写真をダウンロードできません。
画像のsrcの例は次のとおりです: "http://www.bing.com/az/hprichbg?p=rb%2fYosemiteSnow_EN-US7191433727_1920x1200.jpg"
これが私のコアコードです
var download_file_httpget = function(file_url) {
var options = {
host: url.parse(file_url).host,
port: 80,
path: url.parse(file_url).pathname,
headers: {}
};
var file_name = '11.jpg';
var file = fs.createWriteStream(download_path + "\\" + file_name);
http.get(options,function(res) {
res.on('data',function(data) {
file.write(data);
}).on('end',function() {
file.end();
console.log('download success');
});
});
};
たとえば、元の写真のサイズは200kですが、ダウンロードできるのは20kだけであり、ヘッダーの「リファラー」が原因であるとは思えません。ヘッダーを追加すると、一部のサイトで問題が修正されましたが、それでも問題は解決しました。ビンビンには効かない