¿Cómo puedo configurar el encabezado de solicitud para curl?

Resuelto ryan asked hace 13 años • 0 respuestas

¿ Cómo pasaría varios valores en el encabezado de una curlsolicitud?

ryan avatar Nov 18 '10 14:11 ryan
Aceptado

Simplemente use la -Hopción varias veces:

curl -H "Accept-Charset: utf-8" -H "Content-Type: application/x-www-form-urlencoded" http://www.some-domain.example
Mads Mobæk avatar Nov 18 '2010 07:11 Mads Mobæk

Para pasar varios encabezados en una solicitud curl, simplemente agregue -Ho adicional --headera su comando curl.

Ejemplo

//Simplified
$ curl -v -H 'header1:val' -H 'header2:val' URL

//Explanatory
$ curl -v -H 'Connection: keep-alive' -H 'Content-Type: application/json'  https://www.example.com

Ir más lejos

Para los campos de encabezado HTTP estándar como User-Agent , Cookie , Host , en realidad existe otra forma de configurarlos. El comando curl ofrece opciones designadas para configurar estos campos de encabezado:

  • -A (o --user-agent): establece el campo "Usuario-Agente".
  • -b (o --cookie): establece el campo "Cookie".
  • -e (o --referer): establece el campo "Referente".
  • -H (o --header): establece el campo "Encabezado"

Por ejemplo, los dos comandos siguientes son equivalentes. Ambos cambian la cadena "User-Agent" en el encabezado HTTP.

    $ curl -v -H "Content-Type: application/json" -H "User-Agent: UserAgentString" https://www.example.com
    $ curl -v -H "Content-Type: application/json" -A "UserAgentString" https://www.example.com
Tyler Rafferty avatar Jul 25 '2017 21:07 Tyler Rafferty

A veces, cambiar el encabezado no es suficiente; algunos sitios también verifican el referente:

curl -v \
     -H 'Host: restapi.some-site.com' \
     -H 'Connection: keep-alive' \
     -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
     -H 'Accept-Language: en-GB,en-US;q=0.8,en;q=0.6' \
     -e localhost \
     -A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36' \
     'http://restapi.some-site.com/getsomething?argument=value&argument2=value'

En este ejemplo, el referente (-e o --referer en curl) es 'localhost'.

DavidGamba avatar Sep 05 '2013 20:09 DavidGamba

Establezca el encabezado -H "Tipo de contenido: aplicación/json" usando la solicitud GET

Ejemplo -

curl -H "Content-Type: application/json" -X GET https://jsonplaceholder.typicode.com/posts/1

Si desea agregar varios encabezados

curl -H "Connection: keep-alive" -H "Content-Type: application/json -X GET https://jsonplaceholder.typicode.com/posts/1

ingrese la descripción de la imagen aquí

Omkesh Sajjanwar avatar Dec 26 '2022 07:12 Omkesh Sajjanwar