Pregunta ¿Cómo puedo eliminar los encabezados predeterminados que envía curl


Curl de forma predeterminada agrega encabezados como Content-type y User-agent. Normalmente eso es algo bueno, pero estoy intentando probar lo que hace nuestro servidor cuando faltan esos encabezados. Mi problema es con el encabezado de tipo de contenido. Si falta, el servidor asume correctamente que el usuario envió json. Sin embargo, curl realmente agrega el encabezado que falta y asume incorrectamente que el contenido que estoy publicando application / x-www-form-urlencoded. También envía un encabezado Accept de / . Supongo que es un buen comportamiento predeterminado, pero básicamente me gustaría que no envíe encabezados que no especifique. ¿Hay una opción para eso?

curl -v -X POST 'https://domain.com' -d '{...}'

> User-Agent: curl/7.37.1
> Host: domain.com
> Accept: */*
> Content-Length: 299
> Content-Type: application/x-www-form-urlencoded

14
2017-07-08 12:47


origen


Respuestas:


Utilizar -H marcar con el encabezado que desea eliminar y sin contenido después del :

-H, --header LINE   Custom header to pass to server (H)

Muestra

-H 'User-Agent:'

Esto hará la solicitud sin el User-Agent encabezado (en lugar de enviarlo con un valor vacío)


22
2017-07-08 12:50



Parece curl envía 3 encabezados Para hacer una solicitud sin ellos, puede hacer:

curl 172.20.11.100:8080/healthz -v -H 'User-Agent:' -H 'Accept:' -H 'Host:'

Responda +1 a @cmlndz mientras explica cómo eliminar un solo encabezado.

Puede verificar qué encabezados se envían realmente agregando el -v opción como se muestra arriba.


2
2017-07-13 17:04



Preguntas populares