O hiperlink do Excel não está redirecionando corretamente (bug?)

27

Eu tenho um problema de hiperlink do Excel: clico em, digamos A1 , copie o link nele ( http://www.godaddy.com/domains/searchresults.aspx?ci=54814 ), clique com o botão direito do mouse no hiperlink e copie esse mesmo URL como o link (se ele não for detectado automaticamente e mudou).

Quando clico nele, sou redirecionado para http://www.godaddy.com/domains/search.aspx?ci=53972 .

Se eu copiar e colar o link diretamente no navegador, ele funcionará bem (ou seja, eu não serei redirecionado para um URL diferente).

Alguém sabe o que está acontecendo?

    
por Andrej 04.07.2012 / 07:14

13 respostas

29

O URL que você está usando precisa de mais algumas informações de um cookie para exibir os resultados de pesquisa em vez da página de pesquisa. Cole o URL em um navegador diferente (ou remova seus cookies) e você obterá os mesmos resultados.

Clicar em um URL no Excel parece abri-lo no navegador padrão. Mas isso não é verdade. Antes de abri-lo em seu navegador, o Excel executa primeiro o Microsoft Office Protocol Discovery . Isso usa um componente do Windows / Internet Explorer para determinar se o URL funciona. (Ele não se identifica como o Internet Explorer, mas como "Agente do Usuário: Descoberta de Existência do Microsoft Office".) E se os resultados (de alguma forma) estiverem corretos, ele abrirá o resultado dessa verificação em seu navegador padrão.

Na falta de cookies (mais precisamente: faltando uma sessão ), o GoDaddy fornece esse componente do Internet Explorer algum redirecionamento . E o resultado disso é aberto no seu navegador padrão. Esse é o URL que você está vendo.

O mais provável é que o seu navegador padrão não seja o Internet Explorer? Em seguida, colando a URL no IE diretamente e clicando nela, para obter os cookies, pode também fazer o link funcionar no Excel. (Apenas para testes; não é uma solução permanente.)

Você terá mais sorte ao usar uma URL que não depende de algumas informações ocultas de um cookie, como link

    
por 05.07.2012 / 22:11
9

Isso é falha do Excel. Se você colar o link no e-mail do Outlook ou no WordPad e abrir o link de lá, ele funcionará corretamente.

O Excel nunca deve criar uma sessão oculta para verificar o hiperlink. qual é o objetivo disso. Só precisa abri-lo, nada mais. Eles usam a mesma lógica no MS Word. Não funciona de lá nem. Quando o Excel tenta verificar o link em segundo plano, é criada uma nova sessão que não é autenticada para ser redirecionada para a página de login ou algo assim. Depois disso, em vez de abrir o URL original no navegador, o Excel está abrindo o URL de redirecionamento. Eles realmente sabem como complicar a coisa simples.

    
por 05.12.2012 / 23:25
6

Este é um bug conhecido da Microsoft onde os hiperlinks são redirecionados para outra página se:

  • Você está usando o Microsoft Internet Explorer:
    • com um servidor proxy
    • ao usar um firewall que não permite solicitações HTTP em sua rede local
  • O Internet Explorer não é seu navegador padrão.
  • A chave de registro ForceShellExecute não está presente ou não está definida como 1

Você pode aplicar a correção aqui:

link

    
por 14.10.2014 / 10:23
1

Demasiado aqui para adicionar como comentário, receio.

O link inicial retorna um código de status 302

Dos padrões da w3c :

The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests. This response is only cacheable if indicated by a Cache-Control or Expires header field.

The temporary URI SHOULD be given by the Location field in the response. Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s).

If the 302 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.

  Note: RFC 1945 and RFC 2068 specify that the client is not allowed
  to change the method on the redirected request.  However, most
  existing user agent implementations treat 302 as if it were a 303
  response, performing a GET on the Location field-value regardless
  of the original request method. The status codes 303 and 307 have
  been added for servers that wish to make unambiguously clear which
  kind of reaction is expected of the client.

Assim como @xlm declarou, este é o GoDaddy fazendo um redirecionamento temporário.

Parece que, quando chamado do Excel, o redirecionamento nem sempre é respeitado.

    
por 05.07.2012 / 18:44
1

É definitivamente irritante. Uma solução alternativa é criar um link para um arquivo local que redireciona para o hiperlink. Por exemplo, algo como:

<HTML>
<HEAD>
<TITLE>Redirect</TITLE>
<META HTTP-EQUIV="refresh" CONTENT="0;URL=http://www.google.com">
</HEAD>
<BODY>
Redirecting...
</BODY>
</HTML>

Eu não sei muito sobre HTML, mas seria bom poder passar um argumento (isto é, a URL) para este arquivo html local.

    
por 19.10.2015 / 23:21
0

Eu posso replicar seu problema, mas não é um problema do Excel. Na verdade, é o GoDaddy que está redirecionando você para o segundo link. Tente colar esse link no seu navegador e você verá o redirecionamento para o segundo.

Notas: Testado no Excel 2007, Firefox 13.0.1

    
por 04.07.2012 / 07:25
0

Eu tive o mesmo problema apenas o site que eu ia incluído processamento e recuperação de banco de dados em um carimbo de data. Eu copiaria o URL para uma nova célula. mude a data. clique no novo url, MAS obtenha o URL antigo.

No entanto, se eu clicou na nova célula de url, vá até a janela de exibição da célula clique no meu cursor em qualquer lugar nessa janela em seguida, clique em uma célula diferente os valores de data da URL mudam e clicar no URL me fornece os dados corretos.

Tudo isso no IE.

Parece que quando você copia o URL, ele traz as informações do site de url para ele. Não tenho certeza de qual mágica acontece quando eu abro a célula e não a altero, mas ela muda o URL quando você passa o ponteiro sobre ele. Eu sou um ímã regular para esse tipo de coisa no Excel. Provavelmente porque eu não confio nisso.

    
por 17.03.2014 / 23:01
0

Descobri que esse problema surge quando o URL de destino é um site seguro que exige um login. Mesmo que eu esteja logado em uma janela diferente, ele não funcionará corretamente. Se eu cortar e colar o URL em uma nova guia ou janela, o Chrome é inteligente o suficiente para descobrir que eu já estou autenticado e abre a nova página corretamente. No entanto, se eu não estiver logado no site, serei redirecionado para a página de login, como esperado.
Mas, ao clicar exatamente no mesmo URL no Excel, com as mesmas condições, eu só obtenho a página de login ou meu site remoto apenas me informa que é um navegador não suportado.
O problema é claramente proveniente do Excel, porque se eu pegar essa planilha exata, salvá-la como um PDF, os hiperlinks exibidos no PDF funcionarão perfeitamente quando forem clicados.
Além de consertar esse “recurso” obviamente não intencional do Excel / Office tentando verificar links como outros postaram, a única solução encontrada foi criar uma página de redirecionamento local que poderia levar meus parâmetros exclusivos dentro da URL e abrir uma nova janela como segue (graças a outros para o código JavaScript) Redirecionar, alterando o hiperlink excel para algo como         link , onde a página de redirecionamento está em um servidor local que você controla e o parâmetro 12345 faz o URL redirecionar para a entrada específica necessária. Para minha SS com cerca de 10.000 links, isso funciona bem.

Redirect.html é o seguinte.

<!DOCTYPE html>
<html>
<script>
function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,    
    function(m,key,value) {
      vars[key] = value;
    });
    return vars;
  }
    document.getElementById("demo").innerHTML=getUrlVars()["type"];
    var varbaseurl=[put your base url here]
    window.location = varbaseURL  + getUrlVars()["type"]
</script>
<body> 
redirecting to: <p id=demo></p>
    
por 10.11.2014 / 20:33
0

Eu resolvi isso fazendo uma pesquisa no Google no URL e usando o URL da página de resultados do google para o hiperlink

por exemplo. para sweettoothrewards.com Eu usei o link no navegador de ópera comigo não está conectado.

    
por 29.07.2015 / 18:50
0

Consegui investigar isso ainda mais, pois estava tentando fazer com que uma pasta de trabalho do Excel fosse vinculada ao meu próprio servidor da Web. Notei que clicar em um link no Excel produzia três consultas ao servidor.

  1. GET HEAD (com sessão temporária)
  2. GET (com sessão temporária)
  3. GET (com sessão real)

Mas se a página vinculada estava redirecionando o usuário, não vi o terceiro GET. Em vez disso, o segundo GET foi redirecionado para uma nova página e a sessão permaneceu temporária. O que significa que, se a página de destino exigir autenticação, o usuário será redirecionado para uma página de login, mesmo que ele já esteja autenticado.

Isso me leva a uma ideia de criar uma página de destino que redireciona o usuário para a página de destino, caso o usuário seja autenticado. E isso funciona. Quando o terceiro GET é recebido, o servidor percebe que o usuário está autenticado e redireciona para a página de destino. Para usuários não autenticados, a página de destino mostra um link para a página de destino. E quando o usuário clicar no link, o usuário será redirecionado para a página de login.

    
por 09.09.2015 / 07:27
-1

Conseguimos reproduzir o problema e nossas descobertas de desenvolvedor indicam quando você cola um link no Microsoft Excel, o Excel prefacia o link com uma marca de ordem de byte (BOM). Quando esse link é carregado no navegador, ele não remove o BOM do URL.

Ao carregar o URL, o navegador faz vários testes para verificar se a conexão é segura (https) e isso está falhando devido à lista de materiais errante. Isso acaba causando o erro de estado do relé, já que esse parâmetro deve ser enviado por um canal seguro.

Você pode reproduzir esse problema copiando a célula e colando-a diretamente no firefox, tirando o Excel da imagem. Isso também falha (às vezes de maneira um pouco diferente), mas sofre do mesmo problema de raiz. Se você remover o "https" do URL colado e simplesmente redigitá-lo, você notará que o link agora funciona corretamente.

Essa é uma limitação no fato de o Excel armazenar a BOM na URL e a maneira como o navegador não pode interpretar a BOM.

No momento, a única solução que podemos imaginar é copiar o link da URL e colá-lo no navegador e acessar a página.

Além disso, sugiro que você crie um ticket de suporte com a Microsoft e acredito que eles possam ter um melhor entendimento sobre esse assunto para ajudá-lo nesse assunto.

    
por 29.10.2014 / 06:40
-1

Para resolver esse problema em alguns sites, basta criar um arquivo HTML que redireciona para o site em questão e, em seguida, apontar o hiperlink no Excel para esse arquivo e ele funciona muito bem.

amostra:

<HTML>
<HEAD>
<TITLE>Redirect</TITLE>
<META HTTP-EQUIV="refresh" CONTENT="0; URL=https://citiretailservices.citibankonline.com/RSnextgen/svc/launch/index.action?siteId=PLCN_GOODYEAR&langId=en_US#signon">
</HEAD>
<BODY>
Custom Redirect by Jason...
</BODY>
</HTML>
    
por 09.08.2017 / 04:57
-1

Recentemente, tive esse problema em que uma função de hiperlink no Excel apontava para um redirecionamento 301 em um site do WordPress. Eu atualizei o 301 para apontar para um novo documento, mas o link no Excel continuou a trazer o documento antigo. Eu só fui capaz de resolver isso limpando o cache de documentos no IE, embora eu esteja executando o Excel 2016 em uma máquina com Windows 10. Espero que isso ajude.

    
por 24.01.2018 / 17:14