Гиперссылка Excel не перенаправляется должным образом (ошибка?)

У меня проблема с гиперссылкой Excel: я нажимаю, скажем, A1 , копирую ссылку в ней ( http://www.godaddy.com/domains/searchresults.aspx?ci=54814 ), щелкните правой кнопкой мыши по гиперссылке и скопируйте ее URL как ссылка (если он не будет автоматически обнаружен и изменен).

Когда я нажимаю на нее, я перенаправляюсь на http://www.godaddy.com/domains/search.aspx?ci=53972 .

Если я скопирую и вставляю ссылку непосредственно в браузер, она работает нормально (т. Е. Я не перенаправлен на другой URL-адрес).

Кто-нибудь знает, что происходит?

URL-адрес, который вы используете, требует дополнительной информации из файла cookie для отображения результатов поиска, а не страницы поиска. Вставьте URL-адрес в другой браузер (или удалите файлы cookie), и вы получите те же результаты.

Щелчок по URL-адресу в Excel, кажется, открывает его в браузере по умолчанию. Но это не так. Прежде чем открыть его в своем браузере, Excel сначала запускает обнаружение протокола Microsoft Office . Для определения того, работает ли URL-адрес, используется компонент Windows / Internet Explorer. (Он не идентифицирует себя как Internet Explorer, а как «Агент пользователя: обнаружение существования Microsoft Office».) И если результаты (как-то) в порядке, то он откроет результат этой проверки в браузере по умолчанию.

Отсутствие файлов cookie (точнее: отсутствие сеанса ), GoDaddy дает возможность переадресации компонента Internet Explorer. И результат этого будет открыт в вашем браузере по умолчанию. Это URL, который вы видите.

Скорее всего, ваш браузер по умолчанию не Internet Explorer? Затем, вставив URL-адрес в IE непосредственно и щелкнув по нему, чтобы получить файлы cookie, можно также заставить ссылку работать из Excel. (Просто для тестирования, это не постоянное решение.)

У вас будет больше удачи, используя URL-адрес, который не полагается на скрытую информацию из файла cookie, например http://www.godaddy.com/domains/search.aspx?domainToCheck=superuser.com.

Это ошибка Excel. Если вы вставляете ссылку в электронную почту Outlook или WordPad, и вы откроете ссылку там, она будет работать правильно.

Excel никогда не должен создавать скрытый сеанс для проверки гиперссылки. В чем смысл этого. Просто нужно открыть его, ничего другого. Они используют ту же логику в MS Word. От этого и не получается. Когда Excel пытается проверить ссылку в фоновом режиме, создается новый сеанс, который не аутентифицирован, поэтому он перенаправляется на страницу входа или что-то в этом роде. После этого вместо открытия исходного URL-адреса в браузере Excel открывает URL-адрес перенаправления. Они действительно знают, как сделать простую вещь сложной.

Это известная ошибка Microsoft, в которой гиперссылки перенаправляются на другую страницу, если:

  • Вы используете Microsoft Internet Explorer:
    • С прокси-сервером
    • При использовании брандмауэра, который не разрешает HTTP-запросы в вашей локальной сети
  • Internet Explorer не является браузером по умолчанию.
  • ForceShellExecute реестра ForceShellExecute отсутствует или не установлен в 1

Вы можете применить исправление отсюда:

http://support.microsoft.com/kb/218153

Слишком много здесь, чтобы добавить в качестве комментария, я боюсь.

Исходная ссылка возвращает код состояния 302

Из стандартов w3c :

Запрошенный ресурс временно находится под другим URI. Поскольку перенаправление может иногда изменяться, клиенту ДОЛЖНО продолжать использовать Request-URI для будущих запросов. Этот ответ может быть только кэшируемым, если указано полем Cache-Control или Expires.

Временному URI ДОЛЖНО указываться полем «Местоположение» в ответе. Если метод запроса не был HEAD, субъект ответа СЛЕДУЕТ содержать короткую гипертекстовую ноту с гиперссылкой на новый URI (ы).

Если код статуса 302 получен в ответ на запрос, отличный от GET или HEAD, пользовательский агент НЕ ДОЛЖЕН автоматически перенаправлять запрос, если он не может быть подтвержден пользователем, поскольку это может изменить условия, в которых был отправлен запрос.

  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. 

Так как @xlm заявил, что это GoDaddy делает временную переадресацию.

Казалось бы, при вызове из Excel перенаправление не всегда соблюдается.

Давайте будем гением компьютера.