Cabeça xmlhttprequest no cromo
-
25-09-2019 - |
Pergunta
Estou tentando obter a resposta da cabeça com um xmlHttPrequest no Chromium para recuperar o URL de localização de um URL comprimido, mas falha:
var ajax = new XMLHttpRequest();
ajax.onreadystatechange = function() { if (ajax.readyState == 4) alert(ajax.getResponseHeader("Location")) };
ajax.open('HEAD', "http://bit.ly/4Agih5", false);
ajax.send();
// Refused to get unsafe header "Location"
// Error: NETWORK_ERR: XMLHttpRequest Exception 101
Solução
Como Mohamed indicou, você terá que criar um serviço de proxy no mesmo site em que está hospedando sua página, pois essa é uma solicitação de domínio cruzado.
Isso deve falhar em todos os navegadores, a menos que você tenha permitido explicitamente solicitações de domínio cruzado em seu navegador. Se bit.ly suportou solicitações de domínio cruzado por meio do W3C Spec Para a origem-controle de acesso, seu código funcionaria.
Outras dicas
Você não pode fazer XHRs de domínio cruzado. Use uma linguagem de programação da Web como JSP/Python/Php/Ruby/etc ..
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow