无法通过请求模块刮取数据 - 禁止访问

时间:2015-01-20 17:17:48

标签: javascript node.js node-request

我有一个奇怪的问题,我试图使用请求模块废弃某些页面,但我这样做会得到403 Access Denied。但我完全能够使用节点的curl模块来完成它。但是互联网上的人们认为,与请求模块相比,性能会更高,因为我需要废弃大量类似的页面。 为什么我在使用请求模块时会得到403?



var options = {
  url: 'http://m.snapdeal.com/product/ostriva-antiglare-screen-protector-for/226500183',
  headers: {
    'User-Agent': 'Mozilla/5.0'
  }
}
router.get('/m', function(req, res) {
    request(options,function(err,resp,data){
        if(err){
          console.log(err);
          res.end();
          return;
        }
        console.log(resp.statusCode);
        res.send(data);
    });
});




1 个答案:

答案 0 :(得分:2)

服务器也在寻找Accept标头。因此,请尝试向'Accept': 'text/html;q=0.9,*/*;q=0.8',对象添加headers之类的内容。