如何使用HttpClient处理post方法中的重定向?

xuy*_*yao 3 post http httpclient

在我的应用程序中,我将xml文件发布到服务器,但有时服务器将发回302然后重定向.

但是,重定向方法后变为GET,而不是POST,并且我的xml文件中的数据无法传递给服务器.

最后我得到的状态代码是404.

有没有办法自己处理重定向?重定向发生时我可以做些什么吗?

有人可以帮忙吗?谢谢.!

joh*_*tok 5

来自RFC 2616:

如果收到302状态代码以响应GET或HEAD以外的请求,则用户代理不得自动重定向请求,除非用户可以确认,因为这可能会改变发出请求的条件.

你确定你的服务器没有使用' POST,redirect,GET '这个成语吗?

您可以在Apache HTTP客户端中禁用重定向的自动跟踪.例如:

_httpClient = new DefaultHttpClient();
_httpClient.getParams().setParameter(
    ClientPNames.HANDLE_REDIRECTS, Boolean.FALSE);
Run Code Online (Sandbox Code Playgroud)