La guía curl para solicitudes HTTP

 

 

 

curl es una herramienta increíble que te permite crear solicitudes de red desde la línea de comandos

 

curl es una herramienta de línea de comandos que permite transferir datos a través de la red.

Admite muchos protocolos listos para usar, incluidos HTTP, HTTPS, FTP, FTPS, SFTP, IMAP, SMTP, POP3 y muchos más.

Cuando se trata de depurar solicitudes de red, curl es una de las mejores herramientas que puedes encontrar.

Es una de esas herramientas que, una vez que sabes cómo usarlas, siempre vuelves a ellas. El mejor amigo de un programador.

Es universal, funciona en Linux, Mac y Windows. Consulta la guía de instalación oficial para instalarlo en tu sistema.

Dato curioso: el autor y mantenedor de curl, sueco, fue premiado por el rey de Suecia por las contribuciones que su trabajo (curl y libcurl) hizo al mundo de la informática.

Analicemos algunos de los comandos y operaciones que probablemente desee realizar al trabajar con solicitudes HTTP.

Estos ejemplos implican trabajar con HTTP, el protocolo más popular.

  • Realizar una solicitud HTTP GET
  • Obtener los encabezados de respuesta HTTP
  • Obtenga únicamente los encabezados de respuesta HTTP
  • Realizar una solicitud HTTP POST
  • Realizar una solicitud HTTP POST enviando JSON
  • Realizar una solicitud HTTP PUT
  • Seguir una redirección
  • Almacenar la respuesta en un archivo
  • Uso de autenticación HTTP
  • Establecer un agente de usuario diferente
  • Inspeccionar todos los detalles de la solicitud y la respuesta.
  • Copiar cualquier solicitud de red del navegador a un comando curl

Realizar una solicitud HTTP GET

Cuando realiza una solicitud, curl devolverá el cuerpo de la respuesta:

 

curl https://flaviocopes.com/

Obtener los encabezados de respuesta HTTP

De forma predeterminada, los encabezados de respuesta están ocultos en la salida de curl. Para mostrarlos, utilice la iopción:

curl -i https://flaviocopes.com/

Obtenga únicamente los encabezados de respuesta HTTP

Al utilizar esta Iopción, puede obtener solo los encabezados y no el cuerpo de la respuesta:

curl -I https://flaviocopes.com/

Realizar una solicitud HTTP POST

La Xopción le permite cambiar el método HTTP utilizado. De manera predeterminada, se utiliza GET y es lo mismo que escribir

curl -X GET https://flaviocopes.com/

El uso -X POSTrealizará una solicitud POST.

Puede realizar una solicitud POST pasando datos codificados en URL:

curl -d "option=valuesomething=anothervalue" -X POST https://flaviocopes.com/

En este caso application/x-www-form-urlencodedse envía el tipo de contenido.

Realizar una solicitud HTTP POST enviando JSON

En lugar de publicar datos codificados en URL, como en el ejemplo anterior, es posible que desees enviar JSON. Fotos Porno y actrices porno

En este caso, es necesario configurar explícitamente el encabezado Content-Type mediante la Hopción:

curl -d '{"option": "value", "something": "anothervalue"}' -H "Content-Type: application/json" -X POST https://flaviocopes.com/

También puedes enviar un archivo JSON desde tu disco:

curl -d "@my-file.json" -X POST https://flaviocopes.com/

Realizar una solicitud HTTP PUT

El concepto es el mismo que para las solicitudes POST, solo cambia el método HTTP usando-X PUT

Seguir una redirección

Una respuesta de redirección como 301, que especifica el Locationencabezado de respuesta, puede ser seguida automáticamente especificando la Lopción:

curl https://flaviocopes.com/

no seguirá automáticamente a la versión HTTPS que configuré para redirigir, pero esto lo hará:

curl -L https://flaviocopes.com/

Almacenar la respuesta en un archivo

Usando la oopción puedes indicarle a curl que guarde la respuesta en un archivo:

curl -o file.html https://flaviocopes.com/

También puedes simplemente guardar un archivo por su nombre en el servidor, usando la Oopción:

curl -O https://flaviocopes.com/index.html

Uso de autenticación HTTP

Si un recurso requiere autenticación HTTP básica, puede utilizar la uopción para pasar los valores de usuario:contraseña:

curl -u user:pass https://flaviocopes.com/

Establecer un agente de usuario diferente

El agente de usuario le indica al servidor qué cliente está realizando la solicitud. De manera predeterminada, curl envía el curl/versionagente de usuario, como: curl/7.54.0.

Puede especificar un agente de usuario diferente utilizando la --user-agentopción:

curl --user-agent "my-user-agent" https://flaviocopes.com

Inspeccionar todos los detalles de la solicitud y la respuesta.

Utilice la --verboseopción para hacer que curl muestre todos los detalles de la solicitud y la respuesta:

curl --verbose -I https://flaviocopes.com/
* Trying 178.128.202.129...* TCP_NODELAY set* Connected to flaviocopes.com (178.128.202.129) port 443 (#0)* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256* Server certificate: flaviocopes.com* Server certificate: Let's Encrypt Authority X3* Server certificate: DST Root CA X3 HEAD / HTTP/1.1 Host: flaviocopes.com User-Agent: curl/7.54.0 Accept: */* HTTP/1.1 200 OKHTTP/1.1 200 OK Cache-Control: public, max-age=0, must-revalidateCache-Control: public, max-age=0, must-revalidate Content-Type: text/html; charset=UTF-8Content-Type: text/html; charset=UTF-8 Date: Mon, 30 Jul 2018 08:08:41 GMTDate: Mon, 30 Jul 2018 08:08:41 GMT...

Copiar cualquier solicitud de red del navegador a un comando curl

Al inspeccionar cualquier solicitud de red mediante las herramientas para desarrolladores de Chrome , tiene la opción de copiar esa solicitud a una solicitud curl:

curl 'https://github.com/curl/curl' -H 'Connection: keep-alive' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'Upgrade-Insecure-Requests: 1' -H 'DNT: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Referer: https://www.google.it/' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: en-US,en;q=0.9,it;q=0.8' -H 'Cookie: _octo=GH1.1.933116459.1507545550; _ga=GA1.2.643383860.1507545550; tz=Europe%2FRome; user_session=XXXXX; __Host-user_session_same_site=YYYYYY; dotcom_user=flaviocopes; logged_in=yes; has_recent_activity=1; _gh_sess=ZZZZZZ' --compressed



Tal vez te puede interesar:

  1. Introducción a React
  2. Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
  3. Cómo cambiar el valor de un nodo DOM
  4. Cómo comprobar si un elemento DOM tiene una clase

La guía curl para solicitudes HTTP

La guía curl para solicitudes HTTP

Realizar una solicitud HTTP GETObtener los encabezados de respuesta HTTPObtenga únicamente los encabezados de respuesta HTTPRealizar una solicitud HTTP POSTRe

programar

es

https://aprendeprogramando.es/static/images/programar-la-guia-curl-para-solicitudes-http-1809-0.jpg

2024-10-28

 

La guía curl para solicitudes HTTP
La guía curl para solicitudes HTTP

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

 

 

Update cookies preferences