java - Tomcat 中的 HttpClient 4 重定向处理不同

标签 java tomcat6 apache-httpclient-4.x

我有一个获取远程资源的 HttpClient 实例。我将其配置为处理重定向。

        HttpParams params = new BasicHttpParams();
        params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT,
            SOCKET_TIMEOUT);
        params.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,
                CONNECTION_TIMEOUT);
        params.setLongParameter(ClientPNames.CONN_MANAGER_TIMEOUT,
                CONN_MANAGER_TIMEOUT_VALUE);
        params.setParameter(ClientPNames.COOKIE_POLICY,
                CookiePolicy.BROWSER_COMPATIBILITY);

        params.setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, true);
        params.setBooleanParameter(ClientPNames.REJECT_RELATIVE_REDIRECT,
                false);
        params.setIntParameter(ClientPNames.MAX_REDIRECTS, 4);
        httpclient = new DefaultHttpClient(cm, params);

当我从 web 应用程序 (Tomcat6) 内部调用它时,我收到 301 响应。当我从 JSE 环境调用它时,我得到 200 最终响应(重定向得到处理)。我的第一个怀疑是类加载问题,但是打印 HttpClient 类的源代码显示两次都是从 httpclient-4.2.5.jar 加载的

还有什么办法可以调试这个吗?

最佳答案

按照描述打开上下文/线路日志记录运行 HttpClient here并比较两种环境中交换的 HTTP 消息。

关于java - Tomcat 中的 HttpClient 4 重定向处理不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20500757/

相关文章:

java - 如何在 Java 中更改 HTTP 响应中的字符集编码

android - Httppost 找不到方法 setConfig android

java - apache commons http 客户端效率

Linux 上的 Java 内存使用情况

java - OneJar 和动态类加载

java - 试图获取请求参数以访问登录tomcat

java - HibernateFilter.doFilter ServletException?

java - 像 grapes/maven/ivy 这样的工具的远程依赖管理器如何设法利用相同的底层存储库......?

java - 如何在 Maven 中使用 1 个 Jar 执行子项目?

tomcat - 如何在tomcat应用程序上发布本地路径?