Поиск перенаправленного сайта - PullRequest
1 голос
/ 12 января 2012

У меня есть два сайта, A и B. Когда я открываю сайт A, я автоматически перенаправляюсь на сайт B.

Какова функция, с помощью которой я могу проверить, каким был полный путь веб-сайта A, с которого был редирект?

Я пытался начать с:

        logger.info(request.getPathInfo());
        logger.info(request.getPathTranslated());
        logger.info(request.getServletPath());
        logger.info(request.getLocalName());
        logger.info(request.getRemoteAddr());
        logger.info(request.getRemoteHost());
        logger.info(request.getRequestURI());
        logger.info(request.getServerName());

но ни один из них не является правильным.

Для перенаправления я использую response.sendRedirect внутри контроллера.

Спасибо за помощь.

Ответы [ 4 ]

3 голосов
/ 12 января 2012

Вы можете попробовать использовать дополнительный referer заголовок:

request.getHeader("referer");

Но важно отметить, что это не всегда может быть заполнено (особенно IE).

Лучшим решением, если вы контролируете оба веб-сайта, является передача значения каким-либо образом при выполнении перенаправления.Например, в качестве параметра GET или POST.

Редактировать:

Как предложено выше, вы можете добавить строки запроса в URL-адрес перенаправления.Например, вы можете попробовать что-то вроде этого:

String redirectUrl = "http://my.redirect.com/";

redirectUrl += "?referer=";
redirectUrl += URLEncoder.encode(request.getRequestURL().toString(), "UTF-8");

Затем вы можете просто извлечь это из запроса на другой стороне.

Используйте это как отправную точку.Возможно, вам придется вручную добавить другие параметры запроса, которые могут не входить в вывод getRequestURL().

1 голос
/ 12 января 2012

Ничто из этого не даст вам страницу, которая перенаправила вас на текущую страницу. Что вы можете попробовать это:

String refererPage = request.getHeader("referer");

Однако имейте в виду, что это также зависит от браузера и может присутствовать не всегда.

0 голосов
/ 12 января 2012

Пожалуйста, попробуйте

request.getHeader("referer");
0 голосов
/ 12 января 2012

Попробуйте это

request.getHeader("referer");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...