curl
En este ejemplo voy a contar como usar curl, una potente herramienta desde línea de comando para probar conexiones http y https.
Ejecutar curl
El comando básicamente es curl y la url, por ejemplo:
etaboada@MacBook-Pro-Edu.local ~ > curl https://tecnocratica.net 09:07:56
<!DOCTYPE html>
<html lang="es" prefix="og: https://ogp.me/ns#">
<head>
<title>Tecnocrática | Proveedor tecnológico de servicios digitales</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="pingback" href="https://tecnocratica.net/xmlrpc.php" />
Esto nos devuelve el contenido de la url por consola
Modificadores de curl
Los principales modificadores de curl, son los siguientes:
-H
Permite enviar cabeceras como el tipo de contenido, autenticaciones o la compresión
Ejemplos
curl -H "Content-Type: application/json"
curl -H "Accept-Encoding: gzip"
curl -H "Authorization: PVEAPIToken=root@pam!token:XXXXXXXXXX" https://proxmox.tecnocratica.net
--data / -d
Permite enviar datos a la URL (esto es muy útil para probar o usar API)
curl --data '{"nombre":"Eduardo"}'
Podemos usar también un fichero JSON, si tenemos que enviar mucho contenido en los datos
curl --data @misdatos.json
-i
Muestra las cabeceras de la respuesta
-I
Muestra solamente las cabeceras de la respuesta (HEAD request), no el resto del resultado
-X POST
Envía una petición con un POST en lugar de un GET que es el sistema por defecto.
-X PUT
AL igual que el POST, envía un PUT
-v
Verbose, muestra cabeceras, traza de la conexión etc. Se puede usar -v o también --v según el nivel de información que queramos obtener.
-k / --insecure
Inseguro, esto significa que no va a validar los certificados, esto es muy útil cuando lo usamos en URL internas que no tienen certificado, como por ejemplo https://tecnocratica.mired
--cert --key
Usa un certificado de cliente específico y una clave específica para la conexión
curl --key saddaRTdk.....
-K / --config
Especifica un fichero de configuración para el curl
En primer lugar crearemos el fichero de config configFile.txt
# Configura el método HTTP en POST
-X POST
# Configura User-Agent
-A "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0"
# Agrega la request header
-H "Accept: application/json"
# Agrega cookie values
-b "cookie1=Valordelacookie1; cookie2=Valordelacookie2"
# Agrega los datos
-d "{\"Nombre\": \"Eduardo\", \"Empresa\": \"Tecnocratica\"}" # Entre comillas y comillas internas escapadas
curl \
--config configFile.txt \
--url https://tecnocratica.net
-u
Especifica un nombre de usuario
curl -u user:password tecnocratica.net
-o, -O
Guarda un fichero en un nombre específico (-o) o bien tal y como se llama en el servidor origen
curl -o Eduardo.zip https://www.tecnocratica.net/downloads/archivo.zip
Esto nos dejará un archivo Eduardo.zip en la carpeta
curl -O https://www.tecnocratica.net/downloads/archivo.zip
Esto nos dejará un archivo llamado archivo.zip en la carpeta
-T
Nos permite transferir vía FTP
curl -u Usuarioftp:password -T DescargadoViaFtp.tar.gz ftp://ftpserver.tecnocratica.net