当浏览器可以访问url时,NodeJs request.get()函数不起作用

时间:2017-09-25 09:42:31

标签: node.js file httprequest

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

我正在点击的网址是:http://indiatribune.com/wp-content/uploads/2017/09/health.jpg

2 个答案:

答案 0 :(得分:1)

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

const request = require('request');
request.get({
    url: 'http://indiatribune.com/wp-content/uploads/2017/09/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似乎已经足够了。

答案 1 :(得分:1)

使用download module。这很简单。

const fs = require('fs');
const download = require('download');

download('http://indiatribune.com/wp-content/uploads/2017/09/health.jpg').pipe(fs.createWriteStream('foo.jpg'));