我有两个网站,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());
但没有一个是正确的。
为了重定向,我在 Controller 中使用 response.sendRedirect。
感谢您的帮助。
最佳答案
您可以尝试使用可选的 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()
输出的其他查询参数。
关于java - 搜索重定向的网站路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8835916/