为什么Jersey客户端不处理HTTP POST请求的重定向?

时间:2014-05-15 15:59:16

标签: jersey

我已将Jersey客户端配置为自动遵循HTTP 302重定向:

DefaultApacheHttpClientConfig config = new DefaultApacheHttpClientConfig();
config.getProperties().put(ClientConfig.PROPERTY_FOLLOW_REDIRECTS, true);
Client client = ApacheHttpClient.create(config);

当我收到HTTP 302的HTTP GET请求时,这非常正常:客户端自动重定向我,我从客户端获得的最后一个响应是HTTP 202。

但是,当提交导致HTTP 302的HTTP POST请求时,客户端不会自动重定向我。即,客户端的最后一个响应是HTTP 302,我需要手动跟踪重定向。这种行为对我来说似乎是违反直觉的,因为Web浏览器会自动处理此类重定向。用例似乎也很常见,例如,当尝试使用HTTP POST登录时,您经常会被重定向到新页面。

为什么会这样?有没有办法自动处理它,就像Web浏览器一样?

1 个答案:

答案 0 :(得分:0)

类似的问题已经被问到here。插入的答案也应该回答你的问题。