Não consigo me autenticar em uma pagina com NodeJS
Estou usando esse codigo e não consigo me autenticar, apos a requisição post, ele devolve uma pagina que não é a que deveria ter devolvido.
OBS: Quando envio a requisição get para pegar o token, não posso armazenar o token diretamente em uma variavel, porque precisso usar a variavel na requisição post, então provavelmente a variavel fica como se fosse local do metodo get do axios, então fiz essa "gambiarra" com o file system, existe alguma outra solução sem ser essa "gambiarra"?
OBS: quando uso o throw duas vezes no callback do fs.readFile, ele da um erro, então usei {} e funcionou, por ele da erro?
const axios = require('axios');
const cheerio = require('cheerio');
var fs = require('fs');
const user = 'example@example.com';
const pass = 'password';
axios.get('https://pagseguro.uol.com.br/', {
timeout: 2000,
withCredentials: true})
.then(function(response){
const $ = cheerio.load(response.data);
var content = $('input').attr('value');
fs.writeFile('token.txt', content, 'utf8', 0o666, 'w', (err) => {if(err) throw err;});
})
.catch(function(error){
console.log(error);
});
axios.post('https://pagseguro.uol.com.br/', {
timeout: 0,
withCredentials: true,
data: {
acsrfToken: fs.readFile('token.txt', 'utf8', 'r', (err, data) => {if(err){console.log(err);} if(data){console.log(data);}}),/
skin: 'ps',
dest: 'REDIR%7Chttps%3A%2F%2Fpagseguro.uol.com.br%2Fhub.jhtml',
user: user,
pass: pass}
})
.then(function(reponse){
var write = reponse.data;
fs.writeFile('index.txt', write, 'utf8', 0o666, 'w', (err) => {if(err) throw err;});
fs.rename('index.txt', 'index.html', (err) => {if(err) throw err;});
})
.catch(function(error){
console.log(error);
});Discussão (14)
Carregando comentários...