Hola, estoy intentando imprimir los cookies que se obtienen una vez te logeas en facebook usando node-fetch, pero como que solo imprime cookies incompletos:
Código:
const fetch = require('node-fetch');
(async () => {
const rawResponse = await fetch('https://www.facebook.com/login.php', {
method: 'POST',
headers: {
'content-type': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'cookie': 'sb=kSSgX_OmWtKFEF4Am5ewprJe;fr=1CBg5iMcQJSDYyLIX..BfoCSR.H9.AAA.0.0.BfoCSR.AWWDh_zCgQg-c'
},
body: '[email protected]&pass=mipassword'
});
const content = await rawResponse.headers.get('set-cookie');
console.log(content);
})();
Este código manda el password, email y los cookies iniciales, debe imprimir las cookies xs, c_user, fr, entre otros(aquellos que se obtienen una vez que te logeas). Los cookies iniciales son obtenidos de cargar la url,
https://www.facebook.com/login.php, se puede obtener fácilmente con este código:
Código:
const fetch = require('node-fetch');
(async function algo(){
const c = await fetch('https://www.facebook.com/login.php')
const d = c.headers.get('set-cookie');
console.log(d)
})();
Usando cURL funciona perfectamente.
curl -c cookie.txt
https://www.facebook.com/login.php #Se obtienen los cookies iniciales (sb y fr)
curl -b cookie.txt -c cookie2.txt -d "
[email protected]" -d "pass=mypassword"
https://www.facebook.com/login.php #se obtienen y se guardan los cookies finales en cookie2.txt.
Nada tiene que ver el browser, mi curiosidad es; por que funciona en cURL y no con node-fetch.