我有一个代码,可以对URL进行POST。代码使用setFixedLengthStreamingMode
,因为它事先知道POST的长度。
我有一种情况,在某些情况下,URL可以重定向到其他东西,因为启用了流模式;它无法遵循重定向。
在实际发布数据之前是否有任何方法可以检查URL是否被重定向?或者我在想错误的方向?
答案 0 :(得分:1)
一般来说,不,没有。在正常的Web用例中,虽然从提交表单完成POST请求后,您应该始终根据最佳实践获得重定向,但这远远不能保证。例如,如果数据类似,它可以执行请求,如果是其他内容则不执行请求。它总是会因错误而失败。
对于某些有限的用例,可能会有一些逻辑总是被遵循,但那是个案的事情。
启用输出流时,身份验证和重定向 无法自动处理。将抛出HttpRetryException 在验证或重定向时读取响应时 需要。可以查询此异常以获取错误的详细信息。
因此,虽然重定向不会自动处理,即使您事先无法真正检查重定向,但您可以做的是您可以捕获异常并基于此自行执行步骤。