方法中处理重定向

方法中处理重定向

本文介绍了如何使用 HttpClient 在 post 方法中处理重定向?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序中,我将一个 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 方法中处理重定向?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 05:53