¿Cómo enviar una solicitud PUT sin contenido y sin encabezado Content-Length usando Apache http client?
Me gustaría probar (mediante una prueba automatizada) cómo responde el servidor (y todos los proxies intermedios) a una solicitud PUT sin cuerpo y encabezado Content-Length
.
Similar a lo que hace curl
curl -XPUT http://example.com
con Apache HTTP client (4.5.13)
Pero parece que siempre agrega el encabezado Content-Length
si no especifico un cuerpo. ¿Existe alguna manera de hacerlo con Apache HTTP client?
Ya intenté (sin suerte)
final HttpPut request = new HttpPut(url);
request.removeHeaders("Content-Length");
davy.ai
Para probar cómo responde un servidor (y todos los proxies intermedios) a una solicitud PUT sin cuerpo y sin encabezado
Content-Length
utilizando el cliente Apache HTTP (4.5.13), puede probar el siguiente código:Este código establece un cuerpo vacío y un encabezado
Content-Length
con un valor de 0 en la solicitud PUT. Esto debería enviar una solicitud PUT a la URL especificada sin especificar un cuerpo ni una longitud de contenido.El método
request.removeHeaders("Content-Length");
en el código que has probado anteriormente puede que no funcione porque el cliente Apache HTTP establece automáticamente el encabezadoContent-Length
según la longitud de la entidad de solicitud proporcionada. Establecer la entidad como null y agregar un encabezado con una longitud de 0 debería evitar que el cliente agregue automáticamente un encabezadoContent-Length
.