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
Foi útil?

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
scroll top