0

我有一个对 URL 进行 POST 的代码。该代码使用setFixedLengthStreamingMode,因为它提前知道 POST 的长度。我遇到的情况是,在某些情况下,URL 可能会被重定向到其他内容,并且启用了流模式;它无法遵循重定向。有没有办法在实际发布数据之前进行检查以查看 URL 是否被重定向?还是我想错了方向?

4

1 回答 1

1

一般来说,不,没有。在正常的 Web 用例中,尽管在从提交表单完成 POST 请求之后,您应该始终按照最佳实践获得重定向,但这远不能保证。例如,如果数据相似,它可以做一个请求,如果它是别的东西,它就不做。它总是会因错误而失败。

对于一些有限的用例,可能会始终遵循一些逻辑,但那是逐案处理的事情。

文档

启用输出流时,无法自动处理身份验证和重定向。如果需要身份验证或重定向,则在读取响应时将抛出 HttpRetryException。可以查询此异常以获取错误的详细信息。

因此,虽然不会自动处理重定向,并且即使您无法真正事先检查重定向,但您可以做的是捕获异常并根据该异常自行执行步骤。

于 2012-09-20T08:16:18.730 回答