encabezados de rizos

encabezados de rizos
Curl es una de las herramientas más útiles cuando se trabaja con la transferencia de datos de URL. Es una utilidad de línea de comandos simplista pero poderosa que facilita la transferencia de datos de datos a través de una red.

Este tutorial discutirá cómo puede trabajar con los encabezados HTTP usando curl.

¿Qué es un encabezado HTTP??

Un encabezado HTTP se refiere a un campo en la solicitud o respuesta HTTP para habilitar la aprobación de información adicional, como metadatos sobre la solicitud o respuesta.

Los encabezados HTTP permiten que un cliente y servidor intercambie información adicional dentro de una solicitud o respuesta específica. El encabezado se compone de un nombre sensible a la caja, un colon y el valor.

Su sintaxis es como se muestra:

Nombre del encabezado: valor
"aceptar": "*/*",
"Anfitrión": "Echo.hoppscotch.io ",
"agente de usuario": "-o",
"X-country": "nosotros",
"X-Forwarded-For": "41.90.68.25, 100.64.0.127 ",
"X-Forwarded-Proto": "https",
"X-NF-Client-Connection-IP": "172.122.12.122 ",
"x-nf-request-id": "01g48depns1qzf8bz7ys27hz93"

Aprendamos cómo podemos trabajar con los encabezados HTTP usando curl.

Instalación de curl

A menudo encontrará curl instalado en la mayoría de los sistemas. Sin embargo, si no, puede instalarlo a través del Administrador de paquetes de su sistema.

Debian

$ sudo apt-get actualización
$ sudo apt-get instalación curl

Rehl

$ sudo yum actualización
$ sudo yum instalación curl

Manjaro/arco

$ sudo Pacman -sy
$ sudo pacman -s curl

Mensaje RAW de visualización de curl

Para mostrar un mensaje en bruto en una solicitud de curl, usamos el indicador -v o -verbose. La opción nos permite mostrar información detallada sobre la solicitud, incluido el proceso de apretón de manos.

$ curl -v https: // echo.hoppscotch.IO
Probando 18.192.76.182: 443 ..
* Conectado al eco.hoppscotch.io (18.192.76.182) Puerto 443 (#0)
* ALPN, ofreciendo H2
* ALPN, ofreciendo http/1.1
* Cafile:/etc/ssl/certs/ca-certificates.CRT
* Capath:/etc/ssl/certs
* Conexión SSL usando TLSV1.3 / TLS_AES_128_GCM_SHA256
* ALPN, servidor aceptado para usar H2
* Certificado del servidor:
* Asunto: CN =*.hoppscotch.IO
* Fecha de inicio: 26 de mayo 06:07:56 2022 GMT
* Fecha de vencimiento: 24 de agosto 06:07:55 2022 GMT
* SUSTAULTNAME: Host "Echo.hoppscotch.IO "Certs coincidente"**.hoppscotch.io "
* Emisor: c = us; O = vamos a cifrar; CN = R3
* Certificado SSL Verificar OK.
* Usando http2, el servidor admite la multiplexación
* Estado de conexión cambiado (HTTP/2 confirmado)
* Copiar datos HTTP/2 en el búfer de flujo al búfer de conexión después de la actualización: len = 0
* Uso de la ID de transmisión: 1 (mango fácil 0x55b037e12100)
> Get / http / 2
> Host: Echo.hoppscotch.IO
> agente de usuario: curl/7.81.0
> Aceptar: */ *
>
* Estado de conexión cambiado (max_concurrent_streams == 250)!
< HTTP/2 200
< access-control-allow-credentials: true
< access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept
< access-control-allow-methods: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD
< access-control-allow-origin: *
< age: 0
< cache-control: no-cache
< content-type: application/json
< date: Mon, 30 May 2022 20:52:52 GMT
< server: Netlify
< x-nf-request-id: 01G4BBWCR3VP8TV4HEJD0QG375
< content-length: 409
<
* TLSV1.2 (in), encabezado TLS, datos suplementarios (23):

"Método": "Get",
"Args": ,
"datos": "",
"Encabezados":
"aceptar": "*/*",
"Anfitrión": "Echo.hoppscotch.io ",
"Agente de usuario": "Curl/7.81.0 ",
"X-Country": "Ke",
"X-Forwarded-For": "41.90.68.25, 100.64.0.210 ",
"X-Forwarded-Proto": "https",
"X-NF-Client-Connection-IP": "41.90.68.25 ",
"x-nf-request-id": "01g4bbwcr3vp8tv4hejd0qg375"
,
"camino": "/",
"Isbase64Coded": Falso
* Conexión #0 para host Echo.hoppscotch.Io se fue intacto

De la salida anterior, podemos ver cómo el servidor procesa la solicitud, comenzando con el apretón de manos del servidor.

El modo detallado es ventajoso al depurar o encontrar cualquier configuración errónea en el servidor.

solo encabezados de espectáculos de curl

Para suprimir toda la salida y mostrar solo los encabezados, podemos usar el indicador de la cabeza como se muestra:

$ curl -Head https: // echo.hoppscotch.IO
Http/2 200
Access-Control-allow-credenciales: verdadero
Access-Control-allow-Headers: origen, X-requested con tipo de contenido, Aceptar
Access-Control-allow-métodos: obtener, publicar, poner, parche, eliminar, opciones, cabeza
Access-Control-Allow-Origin: *
Edad: 0
Cache-Control: no cache
Tipo de contenido: Aplicación/JSON
Fecha: Lun, 30 de mayo de 2022 20:56:26 GMT
servidor: netlify
x-nf-request-id: 01g4bc2xh5pbym2cw57pjv2r1x
Contenido-longitud: 408

El comando solo debe devolver los encabezados de respuesta, como se muestra en la salida anterior.

También puede agregar el -o seguido de la ruta de destino para descargar la salida. Por ejemplo, si su enlace devuelve un montón de HTML, puede redirigir la salida a Dev/NULL como se muestra:

$ curl -vs -o/dev/null https: // linuxhint.comunicarse

El comando debe redirigir la salida a /dev /null.

encabezados personalizados

Si realiza una solicitud HTTP, es posible que deba pasar encabezados personalizados usando Curl. Puede usar la bandera -h seguida del encabezado y el valor.

Considere la sintaxis que se muestra a continuación:

Curl -h 'Header: Value' http: // Ejemplo.comunicarse

Por ejemplo:

$ Curl -h 'Aceptado Language: en-us' https: // echo.hoppscotch.IO

"Método": "Get",
"Args": ,
"datos": "",
"Encabezados":
"aceptar": "*/*",
"Lenguaje aceptado": "en-us",
"Anfitrión": "Echo.hoppscotch.io ",
"Agente de usuario": "Curl/7.81.0 ",
"X-Country": "Ke",
"X-Forwarded-For": "41.90.68.25, 100.64.0.210 ",
"X-Forwarded-Proto": "https",
"X-NF-Client-Connection-IP": "41.90.68.25 ",
"x-nf-request-id": "01g4bcgjyj46yt05mve7wtayzt"
,
"camino": "/",
"Isbase64Coded": Falso

Pasamos el encabezado del idioma aceptado con el valor EN-US a la URL de destino en la solicitud anterior.

CURL Agregue múltiples encabezados

Para pasar múltiples encabezados, puede dar la bandera -h varias veces, como se muestra en la sintaxis a continuación:

$ curl -h 'encabezado: valor' -h 'encabezado: valor' http: // ejemplo.comunicarse

Por ejemplo:

$ curl -h 'en idioma aceptado: en-us' -h 'x-country: us' https: // echo.hoppscotch.IO

Puede verificar el valor establecido en los encabezados resultantes como se muestra:

Curl pase el encabezado vacío

Puede pasar un encabezado vacío usando la sintaxis a continuación:

$ curl -h 'encabezado'; http: // ejemplo.comunicarse

Por ejemplo:

curl -h 'en idioma aceptado'; https: // eco.hoppscotch.IO

La salida resultante es como se muestra:

Tenga en cuenta que el valor para el encabezado especificado está vacío.

Conclusión

Este artículo discutió varios métodos y técnicas del uso de encabezados en curl. Usando este tutorial, comprende cómo ver encabezados en una solicitud, enviar encabezados individuales o múltiples, y finalmente, envíe encabezados vacíos.