Страницы: 1
RSS
Excel режет гиперссылки на сайт
 
Всем доброго дня.
Столкнулся с проблемой. На один из рабочих порталов есть ссылка формата:
http://audit.optimum-frs.ru/Project/10/Photo/PhotoReport?anketaId=791933
(доступно только авторизованному пользователю)
но при клике на ссылку из Excel ссылка режется до http://audit.optimum-frs.ru/Project
при этом, если скопировать ссылку и вставить в строку браузера - она открывается. Из этого можно сделать вывод, чтобы проблема не в IIS, ибо прямо вставленная ссылка тоже бы обрезалась.

Также такая проблема не у всех пользователей - у некоторых работает нормально (открывается по переходу по ссылке). Но если не работает - то во всех браузерах (Internet explorer, Firefox, Opera и т.д.).

Может кто сталкивался с подобным? Есть идеи как это можно решить?
 
Excel не может «резать» ссылку, - особенно, если в ней нет пробелов

При переходе по ссылке, срабатывает редирект, - возможно, сервер этот редирект некорректно обрабатывает

Прикрепите файл Excel с такой проблемной ссылкой
 
Например, вот файл.
ЛП на сайте test2/test2
При первом проходе попросит авторизоваться, далее откроет страницу (там либо фото отобразятся, либо silverlight попросит установить)
А вот после того, как Вы уже авторизовались повторные проходы будут сброшены на http://audit.optimum-frs.ru/Project/10/Report/Logist
(во всяком случае меня так сбрасывает под этим ЛП - ссылка отличается, т.к. уровень доступа другой).
но если вставите саму прямую ссылку - откроется.
 
Excel тут ни при чем
Это ваш веб-сервер выполняет редирект при переходе по ссылке из Excel,
так как какие-то заголовки запроса не передаются при этом
(а при вводе ссылки в браузер - автоматически отправляются другие заголовки запроса)

Обратитесь к разработчикам сайта, - это можно решить только на их уровне
Со стороны Excel никак на ситуацию не повлиять.
Изменено: Игорь - 03.06.2014 14:01:23
 
Игорь, почему при этом не у некоторых пользователей все таки работает переход из Excel?
 
Кстати, такое же поведение из Word, но из Outlook открывает как надо.
 
А если так?
Код
    With CreateObject("WScript.Shell")
        .Run "http://audit.optimum-frs.ru/Project/10/Photo/PhotoReport?anketaId=791933"
    End With 
 
Простите, не понял, а куда это вставить? Просто на лист книги в VB?
 
Не знаю, будет работать или нет, попробуйте
 
Как ни странно, но такой подход работает!
Можете подсказать, возможно ли такой подход завернуть в виде ссылки в ячейке? Только вот код нужно получать тоже из ячейки, например соседней - чтобы слово ссылка стало кликабельным, но отрабатывалось через код.
Изменено: Виталий Рыбченко - 03.06.2014 18:59:43
 
Подождем макрописцев...
А пока формула:
 
Цитата
Nic70y пишет: А пока формула:
А вот формула и не работает  :)
У меня тоже было такое предположение - пробовал, не получается. При этом не понятно почему макрос передает нормально в браузерную строку, а из ячейки гиперссылкой - никак...
Все таки есть ощущение что проблема где то в кодировке, только вот найти не могу где можно ее покрутить.
 
Игорь верно говорит - вряд ли виноват Excel. Если бы был виноват он - резались бы все ссылки. Если бы кодировка - то ссылка бы вообще не работала, т.к. весь адрес на латинице и кодировка бы всю ссылку покорежила. Дело явно в авторизации и ответах сервера сайта при переходе.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
не понятно почему макрос передает нормально в браузерную строку, а из ячейки гиперссылкой - никак...
Во всех случаях всё нормально передается в адресную строку
я же объяснял, почему так происходит...
дело в том, как браузер отправляет запрос по вашей ссылке (с какими заголовками)

например, есть такой заголовок у HTTP запроса, как Referer (страница, с которой произошел вызов по этой ссылке)
При щелчке по гиперссылке, браузер может ничего не подставить в заголовок Referer,
а когда вы вручную ссылку вводите в строку браузера, он отправляет запрос с заголовком Referer, равным адресу последней посещенной страницы
(или адресом той страницы, которая была открыта во вкладке, куда вы вставили ссылку)

Ваш чудо-сервер настроен на анализ заголовков запроса
например, если он видит в запросе пустой заголовок Referer - он выполняет автоматический редирект на другую страницу
(в вашем случае именно это и происходит)
Если же в заголовке Referer хоть что-то указано, - то редиректа не происходит, и открывается запрошенная вами страница

Потому я вам и советовал обратиться к людям, кто настраивал вам всё это хозяйство, —
чтобы они посмотрели, чего они там перемудрили, и отключили лишние проверки заголовков.
 
Игорь, спасибо за подробные комментарии - уже смотрят, но меня другой вопрос беспокоит (если Вы правы, что очень вероятно) - почему есть пользователи, у которых ссылка работает из Excel?
Ранее работала и у меня, но перестала.

В любом случае отпишусь завтра.
 
У вас случайно не csv формат?
 
Цитата
BobbyJo пишет: csv
ну скорее всего да! ведь в csv ссылки только наполовину работают :D
 
Цитата
BobbyJo пишет:
У вас случайно не csv формат?
Я пример ссылки выше выкладывал - похоже на csv? Или у вас ссылка из того файла работает?
 
Может кому интересно.
Все таки проблема в excel.

Ссылка "режется" по следующей причине:
1. Excel пытается проверить ссылку и обращается к серверу
http://audit.optimum-frs.ru/Project/10/Photo/PhotoReport?anketaId=791933

2. По скольку для обращения по этой ссылке нужна авторизация на сервере, сервер возвращает редирект на авторизацию
http://audit.optimum-frs.ru/Login.aspx?ReturnUrl=%2fProject%2f10%2fPhoto%2fPhotoReport%3fanketaId%3­d791933&anketaId=791933

3. Excel передает полученную от сервера "правильную" ссылку в браузер - в итоге исходная страница не открывается и браузер, обрабатывая ссылку, открывает стартовую страницу после авторизации в системе (т.к. через браузер авторизация выполнена ранее).

Один из вариантов обхода - макрос, предложенный Nic70y, но мне данный вариант не подходит, т.к. отчет формируется автоматически средствами MS Reporting Service.
 
Все-таки нет. У меня вот ни одна ссылка не режется, даже если необходима авторизация. Если бы проблема была в Excel - это происходило бы независимо от адреса сайта для всех сайтов с авторизацией.
Через WScript.Shell команда перехода передается напрямую в браузер по умолчанию и интерпретируется так же, как если бы была введена вручную. Из Excel же передается несколько иначе(Игорь все описал).
Поэтому Excel виноват лишь в том, что Вы в нем создали гиперссылки.

Предположу, что то, что Вы написали выше - ответ Ваших ИТ специалистов, которые решили просто понавешать Вам лапши вместо исправления проблемы. Вот и все.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist пишет:
У меня вот ни одна ссылка не режется
Можете привести пример? Хотел бы у себя посмотреть.

Мы сами разрабатываем данное приложение и программисту, который смотрит код проекта нет никакого смысла "вешать лапшу".
 
Ну как я Вам приведу пример? У меня есть сайт, там есть админка - я спокойно вхожу через ссылку в Excel - чтобы войти, надо авторизоваться. Если я уже авторизован - то вхожу туда, куда надо. Если нет - меня выкидывает на страницу авторизации.
Не могу же я дать Вам пароль от своей админки....А больше мне нечего в пример привести - на планете можно и без авторизации просматривать темы...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist,а Вы мою ссылку проверяли? Интересно, она работает или нет.

Просто в офисе есть сотрудники, у которых все работает нормально, а есть те кто обновил мс офис...
 
The_Prist, проблему понял!
Excel проверяет ссылку через Internet Explorer, а пользователи сидят через другие браузеры.
И если войти в систему через IE, то в итоге ссылка начинает работать!

Всем спасибо за участие в теме.
Страницы: 1
Читают тему
Наверх