Prezados, estou usando o Código abaixo para fazer login em uma plataforma via XMLHTTPRequest.
var URL_LOGIN = "https://urldeacesso.com.br/webapp/autenticar";
window.onload = function(){
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function(){
if(this.readyState === 4 && this.status === 200){
var div = document.getElementById("conteudo");
div.innerHTML = xhttp.responseText;
}
}
xhttp.open("POST", URL_LOGIN, true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("tipologin=todos&txtlatitude=-25.7744297&txtlongitude=-43.4010289&txtlogin=login&txtsenha=senha");
}
Ocorre que, quando faço login manual abrindo a página no navegador o debug do Chrome mostra que após autenticar a resposta a essa requisição POST é o Status Code 302 que tem como parâmetro location = "inicio", então é feita outra requisição GET para a página "inicio" essa requisição retorna o Status Code 200 e exibe a página.
Ao rodar a requisição via XMLHttpRequest aparentemente é feita a autenticação pois retorna Código de Status 302 e location="Inicio". Mas a requisição GET para inicio retorna status 302. e é redirecionado para página de login novamente.
OBS: A requisição GET para inicio é feita pelo próprio servidor após realizar a autenticação.
Algumas diferenças que notei no Debug entre o login manual e a requisição XMLHttpRequest que no login manual o header contem um Cookie com vários parametros e valores, quando feito pelo XMLHttpRequest esse Cookie não é enviado, seria esse o problema? e se sim, como faço para enviar esse Cookie no header da minha requisição?
Ou seria algum bloqueio do servidor? impedindo o acesso por esse método? ou algum detalhe que falta no código? Grato por qualquer ajuda por qualquer ajuda.