为什么从浏览器/ curl中获得的结果与从请求中得到的结果不同?

时间:2019-10-18 17:03:36

标签: node.js api curl request instagram

如果您使用浏览器访问https://www.instagram.com/taylorswift/?__a=1,则会得到JSON。

如果我运行curl -o output.json https://www.instagram.com/taylorswift/?__a=1,则会得到JSON。

但是,当我尝试使用节点中的请求进行下载时,像这样:

var headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0',
    'Content-Type' : 'application/x-www-form-urlencoded',
    //'qs': {'__a': 1},
};

function abc (response) {
  console.log('redirect',response.headers.location,response.request.href)
  return true;
};

request({ url: 'https://www.instagram.com/taylorswift/?__a=1', headers: headers, followRedirect: abc}, function (err, response, body) {

    console.log('error',err)
    console.log('redirecting to ',response.request.uri.href)
    console.log('body',body.length)
    fs.writeFileSync('output.txt',body)

});

我得到了instagram加载页面,这只是一堆无用/通用的html和javascript。

此输出:

  

0 | www |重定向https://www.instagram.com/accounts/login/ https://www.instagram.com/taylorswift/?__a=1

     

0 | www |错误为空

     

0 | www |重定向到https://www.instagram.com/accounts/login/

     

0 | www |身体37818

我只想获取我的订户数。

您知道请求为何给我不同的结果吗?

0 个答案:

没有答案