Problem with http GET request on node js

2019-03-27 01:23发布

Im writing an http client to read from facebook using node.js and using the following code:

var http = require('http');

var options = {
  host: 'www.fb.com',
  path: '/',
  "user-agent": "node.js"
};

http.get(options, function(res) {
  console.log("Got response: " + res.statusCode);
  console.log(res.headers);
}).on('error', function(e) {
console.log("Got error: " + e.message);
});

In my browser, this returns a 301 redirect with the location of www.facebook.com, however in node.js I get a 302 response with a location of www.fb.com/common/browser.php. I tried it with the latest version of node and it still throws this error.

I'd really appreciate some help with this, Thanks.

标签: http node.js
2条回答
beautiful°
2楼-- · 2019-03-27 02:12

This dosent seem to be a bug of node.js I made a request to fb.com in curl and I got the same redirect.

It probably makes that decision based on the user agent... maybe you can use the user agent of a browser :D

查看更多
Luminary・发光体
3楼-- · 2019-03-27 02:22
var request_options = 
{
    host: 'www.fb.com',
    headers: {'user-agent': 'Mozilla/5.0'},
    path: '/'
};

Setting the request option this way should work.

查看更多
登录 后发表回答