cURL: ejemplos de GET requests
Ejemplos de cURL HTTP GET requests con los comandos que uso más frecuentemente.
También puedes consultar mis otras guías de cURL para peticiones POST, peticiones PUT y peticiones DELETE.
HTTP GET request
El comando más básico que puedes ejecutar con cURL es una petición HTTP GET. El siguiente comando realizará la petición y mostrará por pantalla el cuerpo de la respuesta:
curl https://blog.marcnuri.comHTTP GET request y seguir redirecciones (follow redirects)
En muchas ocasiones, cuando realizamos peticiones HTTP GET, el servidor responde con un código de estado de redirección 3xx. La mayoría de veces no estamos interesados en está respuesta, sino en la respuesta de la URL final a la que hemos sido redirigidos.
Para indicarle a cURL que siga las redirecciones, podemos emplear la opción de línea de comandos -L, --location:
curl -L http://blog.marcnuri.comPor defecto, cURL seguirá un máximo de 50 redirecciones. Si esto no es suficiente, el valor puede modificarse utilizando la opción --max-redirs;
curl -L --max-redirs 60 http://blog.marcnuri.comHTTP GET request y guardar respuesta en un fichero
Para guardar la respuesta en un fichero, puedes utilizar las opciones -O o -o.
En el caso en el que quieras guardar la respuesta en un fichero con el mismo nombre que el fichero remoto, puedes utilizar la opción -O, --remote-name (esto requiere que la petición se haga a un fichero remoto):
curl -O https://blog.marcnuri.com/index.htmlSi prefieres guardar la respuesta en un fichero con un nombre concreto, puedes utilizar la opción de línea de comandos -o, --output:
curl -o result.html https://blog.marcnuri.comHTTP HEAD request, recuperar sólo las cabeceras
Puedes utilizar la opción -I, --head para indicarle a cURL que sólo recupere las cabeceras, es decir, que realice una petición HTTP HEAD.
curl -I https://blog.marcnuri.comHTTP GET request con autenticación
Cuando accedes a recursos protegidos, necesitarás proporcionar credenciales de autenticación. cURL soporta varios métodos de autenticación.
Autenticación básica (Basic authentication)
Para autenticación HTTP Basic, utiliza la opción de línea de comandos -u, --user seguida del nombre de usuario y contraseña separados por dos puntos:
curl -u usuario:contraseña https://api.marcnuri.com/protectedAutenticación con Bearer token
Para APIs que utilizan Bearer tokens (OAuth 2.0, JWT, etc.), necesitas añadir una cabecera Authorization utilizando la opción -H, --header:
curl -H "Authorization: Bearer tu-token-aqui" https://api.marcnuri.com/protectedAutenticación con API key
Muchas APIs utilizan API keys que se pasan como cabeceras. El nombre de la cabecera varía según la API:
curl -H "X-API-Key: tu-api-key" https://api.marcnuri.com/dataSalida detallada y depuración (verbose)
Cuando necesitas depurar peticiones, el modo verbose muestra todos los detalles de la petición y respuesta incluyendo cabeceras, handshake SSL y más.
Utiliza la opción de línea de comandos -v, --verbose:
curl -v https://blog.marcnuri.comSi sólo necesitas el código de estado HTTP, puedes utilizar una combinación de opciones:
curl -o /dev/null -s -w "%{http_code}\n" https://blog.marcnuri.comTimeout de la petición
Para evitar que las peticiones se queden colgadas indefinidamente, puedes establecer timeouts utilizando las opciones --connect-timeout y --max-time:
curl --connect-timeout 5 --max-time 10 https://blog.marcnuri.comLa opción --connect-timeout limita el tiempo permitido para establecer la conexión, mientras que --max-time limita el tiempo total de toda la operación.
Resumen
Estos son algunos de los ejemplos más comunes de peticiones HTTP GET mediante cURL que utilizo a diario. Espero que también sean de utilidad para vosotros.
