Estoy escribiendo un cliente HTTP para leer desde facebook usando Node.js y usando el siguiente código:Problema con petición HTTP GET en el nodo js
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);
});
En mi navegador, este devuelve un redireccionamiento 301 con la ubicación de www.facebook.com, sin embargo, en node.js obtengo una respuesta 302 con una ubicación de www.fb.com/common/browser.php. Lo probé con la última versión del nodo y todavía arroja este error.
Realmente agradecería un poco de ayuda con esto, Gracias.
Me di cuenta de cuál es el problema. No estaba usando el http.client para realizar la solicitud. Supongo que el cliente maneja la respuesta de keepalive y las cookies y las abstrae. HTTP GET envía una nueva solicitud cada vez, y el estado no se mantiene entre las solicitudes. Entonces fb.com debe estar haciendo algo así como, si la cookie no se establece, redirija a fb.com y configure la cookie. Tal vez necesite algo más de iluminación aquí. Pero moral de la historia ... use http.client para hacer solicitudes. Obtendrás el comportamiento correcto – user868459