问题描述
在我的应用程序中,我将一个 xml 文件发布到服务器,但有时服务器会发回 302 然后重定向.
In My App , I POST a xml file to the server , but sometimes the server will send back 302 and then redirect .
但是,重定向后方法变为 GET ,而不是 POST,并且我的 xml 文件中的数据无法传送到服务器.
However , after the redirecting the method become GET , not POST, and my data in xml file can't deliver to server.
最后我得到的状态码是 404.
And finally the status code I got is 404.
有什么方法可以自己处理重定向吗?发生重定向时我可以做些什么吗?
Is there some way to process the redirect by myself ? Can I do something when the redirecting is happening?
有人可以帮忙吗?谢谢!
Anyone can help? THX.!
推荐答案
来自 RFC 2616:
如果收到 302 状态代码以响应请求,而不是GET 或 HEAD,用户代理不得自动重定向请求,除非它可以被用户确认,因为这可能更改发出请求的条件.
您确定您的服务器没有使用POST、重定向、GET' 成语?
Are you sure your server isn't using the 'POST, redirect, GET' idiom?
您可以禁用自动跟踪重定向 在 Apache HTTP 客户端中.例如:
You can disable automatic following of redirects in Apache HTTP client. For example:
_httpClient = new DefaultHttpClient();
_httpClient.getParams().setParameter(
ClientPNames.HANDLE_REDIRECTS, Boolean.FALSE);
这篇关于如何使用 HttpClient 在 post 方法中处理重定向?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!