gpt4 book ai didi

java - 是否可以在 tomcat 中的过滤器的 doFilter 函数中恢复 Referrer?

转载 作者:行者123 更新时间:2023-11-28 22:33:02 24 4
gpt4 key购买 nike

我有一个过滤器来显示 http 请求 header :

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

HttpServletRequest req = (HttpServletRequest) request;

Enumeration headers = req.getHeaderNames();
for (; headers.hasMoreElements(); ) {

String name = (String) headers.nextElement();
String value = req.getHeader(name);
LOGGER.info("- " + name + " = " + value);
}

chain.doFilter(request, response);
}

使用 Firebug 我可以看到以下请求 header :

Host    mydomain.com
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20100101 Firefox/4.0
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Referer http://mydomain.com/test/index.html

但是过滤器只显示了这个:

16:39:49,064  INFO RefererFilter:42 - - user-agent = Java/1.5.0_22
16:39:49,064 INFO RefererFilter:42 - - host = mydomain.com
16:39:49,064 INFO RefererFilter:42 - - accept = text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
16:39:49,064 INFO RefererFilter:42 - - connection = keep-alive
16:39:49,064 INFO RefererFilter:42 - - content-length = 0

我需要看referer header,不知道为什么filter不显示。 “我做错了什么?

最佳答案

如果将 Tomcat 置于吞噬此 header 的代理之后,就会发生这种情况。这个问题无法从 Java/Tomcat 方面解决。需要在代理端解决。

顺便说一句,user-agent = Java/1.5.0_22 很可疑。它是使用 java.net.URLConnection 还是其他东西的本地代理/客户端?

关于java - 是否可以在 tomcat 中的过滤器的 doFilter 函数中恢复 Referrer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5718296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com