.png)
У меня возникла проблема с гиперссылкой в Excel: я нажимаю, скажем, A1
, копирую ссылку в ней ( http://www.godaddy.com/domains/searchresults.aspx?ci=54814
), нажимаю правой кнопкой мыши на гиперссылке и копирую ТОТ ЖЕ URL-адрес, что и ссылка (если он не определяется и не изменяется автоматически).
Когда я нажимаю на нее, меня перенаправляют на http://www.godaddy.com/domains/search.aspx?ci=53972
.
Если я копирую и вставляю ссылку непосредственно в браузер, она работает нормально (т.е. я не перенаправляюсь на другой URL).
Кто-нибудь знает, что происходит?
решение1
Для отображения поиска URL-адресу, который вы используете, требуется дополнительная информация из cookie-файла.Результатыа не на странице поиска. Вставьте URL в другой браузер (или удалите файлы cookie), и вы получите те же результаты.
Нажатие URL в Excel, кажется, открывает его в вашем браузере по умолчанию. Но это не совсем так. Перед тем, как открыть его в вашем браузере, Excel сначала запускаетОбнаружение протоколов Microsoft Office. Он использует компонент Windows/Internet Explorer для определения работоспособности URL. (Он не идентифицирует себя как Internet Explorer, а как «User Agent: Microsoft Office Existence Discovery».) И если результаты (каким-то образом) в порядке, то он откроетсярезультатэтой проверки в вашем браузере по умолчанию.
Отсутствие куки (точнее: отсутствиесессия), GoDaddy предоставляет этот компонент Internet Explorerнекоторые перенаправления. И результат этого открывается в вашем браузере по умолчанию. Это URL, который вы видите.
Скорее всего, ваш браузер по умолчанию не Internet Explorer? Тогда вставка URL-адреса в IE напрямую и нажатие на него для получения файлов cookie может также заставить ссылку работать из Excel. (Только для проверки; это не постоянное решение.)
Вам повезет больше, если вы используете URL-адрес, который не полагается на скрытую информацию из cookie-файла, напримерhttp://www.godaddy.com/domains/search.aspx?domainToCheck=superuser.com
решение2
Это ошибка Excel. Если вы вставите ссылку в письмо Outlook или WordPad и откроете ссылку оттуда, она будет работать правильно.
Excel никогда не должен создавать скрытую сессию для проверки гиперссылки. В чем ее смысл? Ему просто нужно ее открыть, ничего больше. Они используют ту же логику в MS Word. Это не работает и оттуда. Когда Excel пытается проверить ссылку в фоновом режиме, создается новая сессия, которая не аутентифицирована, поэтому она перенаправляется на страницу входа или что-то в этом роде. После этого вместо того, чтобы открыть исходный URL в браузере, Excel открывает URL перенаправления. Они действительно знают, как сделать простые вещи сложными.
решение3
Это известная ошибка Microsoft, при которой гиперссылки перенаправляются на другую страницу, если:
- Вы используете Microsoft Internet Explorer:
- с прокси-сервером
- при использовании брандмауэра, который не разрешает HTTP-запросы в вашей локальной сети
- Internet Explorer не является браузером по умолчанию.
- Раздел
ForceShellExecute
реестра отсутствует или не установлен на 1
Вы можете применить исправление здесь:
решение4
Боюсь, здесь слишком много всего, чтобы добавить в качестве комментария.
Первоначальная ссылка возвращает код статуса 302.
Запрошенный ресурс временно находится под другим URI. Поскольку перенаправление может быть изменено время от времени, клиент ДОЛЖЕН продолжать использовать Request-URI для будущих запросов. Этот ответ кэшируется только в том случае, если это указано в поле заголовка Cache-Control или Expires.
Временный URI ДОЛЖЕН быть указан полем Location в ответе. Если метод запроса не был 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 перенаправление не всегда выполняется.