/ / Obteniendo la URL redirigida antes de POST - java, post, streaming, httpurlconnection

Obtención de la URL redirigida antes de la POST: java, publicación, transmisión, httpurlconnection

Tengo un código que hace un POST a una URL. El código utiliza setFixedLengthStreamingMode Ya que conoce de antemano la duración del POST. Estoy teniendo una situación en la que, en algunos casos, la URL podría redirigirse a otra cosa y dado que el modo de transmisión está habilitado; no es capaz de seguir la redirección. ¿Hay alguna forma de verificar antes de publicar los datos para ver si la URL se está redirigiendo o no? ¿O estoy pensando en la dirección equivocada?

Respuestas

1 para la respuesta № 1

En general, no, no hay "t. En un caso de uso web normal, aunque después de una solicitud POST realizada desde un formulario de envío siempre debe obtener una redirección según las mejores prácticas, pero esto está lejos de ser garantizado. Por ejemplo, puede hacer una solicitud si los datos son similares, y no hacerlo si es otra cosa. Siempre puede fallar con un error.

Para algunos casos de uso limitado, puede haber alguna lógica que siempre se siga, pero eso es caso por caso, entonces.

De documentación:

Cuando la transmisión de salida está habilitada, la autenticacióny redirección no puede ser manejado automáticamente Se lanzará una HttpRetryException Al leer la respuesta si la autenticación o la redirección son necesario. Esta excepción puede ser consultada para los detalles del error.

Así que mientras que la redirección no será manejadade forma automática, y aunque realmente no puede verificar la redirección de antemano, lo que puede hacer es detectar la excepción y realizar los pasos usted mismo basándose en eso.