Código:
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: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); })();
Código:
Usando cURL funciona perfectamente.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) })();
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.