首页 文章

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

提问于
浏览
1

我已将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

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

相关问题