GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Comando curl de Linux explicado con ejemplos

Introducción

La transferencia de datos hacia y desde un servidor requiere herramientas que admitan los protocolos de red necesarios. Linux tiene múltiples herramientas creadas para este propósito, las más populares son curl y wget.

Este tutorial le mostrará cómo usar el curl comando y le proporcionará una lista exhaustiva de las opciones disponibles.

Requisitos previos

  • Acceso a la terminal
  • Acceso a Internet
  • rizo instalado

¿Qué es el comando curl?

curl (abreviatura de "URL de cliente") es una herramienta de línea de comandos que permite la transferencia de datos a través de varios protocolos de red. Se comunica con un servidor web o de aplicaciones especificando una URL relevante y los datos que deben enviarse o recibirse.

curl funciona con libcurl, una biblioteca portátil de transferencia de URL del lado del cliente. Puede usarlo directamente en la línea de comandos o incluirlo en un script. Los casos de uso más comunes para curl son:

  • Descargar archivos de Internet
  • Pruebas de punto final
  • Depuración
  • Registro de errores

sintaxis de curl

El curl básico la sintaxis es la siguiente:

curl [options/URLs]

Por ejemplo:

curl https://www.gnu.org/gnu/gnu.html

El sistema genera los contenidos HTML que se encuentran en la URL proporcionada después de curl comando.

Si especifica una URL que lleva a un archivo, puede usar curl para descargar el archivo a su sistema local:

curl [url] > [local-file]

La barra de progreso muestra cuánto del archivo se ha descargado hasta el momento.

La sintaxis de las URL que forman parte del comando depende del protocolo. Varias URL que difieren en una parte se escriben juntas usando llaves:

http://example.{first,second,third}.com

Las series alfanuméricas se escriben con corchetes:

ftp://ftp.url.com/file[1-100].txt

Si bien las secuencias anidadas no son compatibles, se permiten múltiples secuencias:

http://url.com/archive[2010-2020]/vol[1-4]/part{a,b,c}.html

Protocolos curl

curl admite numerosos protocolos para la transferencia de datos. Encuentra la lista completa a continuación.

Opciones del comando curl

curl acepta una amplia gama de opciones, lo que lo convierte en un comando extremadamente versátil. Las opciones comienzan con uno o dos guiones. Si no requieren valores adicionales, las opciones de un solo guión se pueden escribir juntas. Por ejemplo, el comando que utiliza -O , -L y -v las opciones se pueden escribir como:

curl -OLv [url]

La lista de todas las opciones disponibles se proporciona a continuación.

Protocolo Descripción
DICT Un protocolo de red de diccionarios para consultar a los servidores de diccionarios sobre el significado de las palabras.
ARCHIVO Un esquema de URL para obtener un archivo del sistema de archivos local usando curl.
FTP, FTPS Protocolo de transferencia de archivos, utilizado para transferencias de archivos entre clientes y servidores. FTPS es la versión del mismo protocolo con una capa de seguridad SSL/TLS añadida.
GOFRES, GOFERES Antiguo protocolo para buscar, recuperar y distribuir documentos de Internet, un precursor de HTTP. GOPHERS es la versión del mismo protocolo con una capa de seguridad SSL/TLS añadida.
HTTP, HTTPS Protocolo de transferencia de hipertexto, utilizado para la transferencia de datos web e Internet. HTTPS es la versión del mismo protocolo con una capa de seguridad SSL/TLS adicional.
IMAP, IMAPS Protocolo de acceso a mensajes de Internet, utilizado para el acceso y la gestión del correo electrónico. IMAPS es la versión del mismo protocolo con una capa de seguridad SSL/TLS adicional.
LDAP, LDAPS Protocolo ligero de acceso a directorios, utilizado para el acceso y la administración de información de directorios distribuidos. LDAPS es la versión del mismo protocolo con una capa de seguridad SSL/TLS añadida.
MQTT Message Queuing Telemetry Transport:un protocolo para el intercambio de datos entre dispositivos pequeños, generalmente sistemas IoT.
POP3, POP3S Protocolo de oficina de correos versión 3:un protocolo para la recuperación de correo electrónico desde un servidor. POP3S es la versión del mismo protocolo con una capa de seguridad SSL/TLS añadida.
RTMP Protocolo de mensajería en tiempo real:un protocolo de transmisión de audio, video y otros datos.
RTSP Protocolo de transmisión en tiempo real, utilizado para la administración de servidores de transmisión de medios.
SCP Copia segura:un protocolo para copiar archivos hacia y desde un servidor SSH.
SFTP Protocolo de transferencia de archivos SSH:una versión del Protocolo de transferencia de archivos que utiliza la conexión SSH.
PYMES, PYMES Server Message Block:un protocolo para administrar el acceso compartido a archivos y periféricos de computadora. SMBS es la versión del mismo protocolo con una capa de seguridad SSL/TLS adicional.
SMTP, SMPTS Protocolo simple de transferencia de correo:un protocolo de correo electrónico para facilitar la transmisión de correo electrónico. SMTPS es la versión del mismo protocolo con una capa de seguridad SSL/TLS añadida.
TELNET Un protocolo de capa de aplicación para comunicación interactiva bidireccional orientada a texto.
TFTP Protocolo trivial de transferencia de archivos, utilizado para cargar o descargar archivos hacia o desde un host remoto.

For comprehensive descriptions of the options, execute the curl --manual command in the terminal.


Ubuntu
  1. Comando fuente de Linux con ejemplos

  2. Comando de apagado de Linux explicado con ejemplos

  3. Comando Traceroute de Linux, explicado con ejemplos

  4. Comando JQ en Linux con ejemplos

  5. Comando Procinfo en Linux explicado con ejemplos

Ordenar comando en Linux con ejemplos

Comando IP de Linux con ejemplos

w Comando explicado con ejemplos en Linux

Comando Linux Cat explicado con ejemplos

Explicación del comando tee de Linux (con ejemplos)

Explicación del comando csplit de Linux (con ejemplos)

    Opción Descripción
    --abstract-unix-socket <path> Conéctese a través de un socket Unix abstracto en lugar de a través de una red.

    Ejemplo:
    curl --abstract-unix-socket socketpath https://example.com
    --alt-svc <file name> Habilitar el analizador alt-svc.

    Ejemplo:
    curl --alt-svc svc.txt https://example.com
    --anyauth Curl encuentra y usa el método de autenticación más seguro para la URL HTTP dada.

    Ejemplo:
    curl --anyauth --user me:pass https://example.com
    -a, --append Anexar al archivo de destino.

    Ejemplo:
    curl --upload-file local --append ftp://example.com/
    --aws-sigv4 <provider1[:provider2[:region[:service]]]> Utilice la autenticación de firma de AWS V4.

    Ejemplo:
    curl --aws-sigv4 "aws:amz:east-2:es" --user "key:secret" https://example.com
    --basic Usar autenticación básica HTTP.

    Ejemplo:
    curl -u name:password --basic https://example.com
    --cacert <file> Utilice el archivo especificado para la verificación del certificado.

    Ejemplo:
    curl --cacert CA-file.txt https://example.com
    --capath <dir> Utilice el directorio especificado para buscar los certificados.

    Ejemplo:
    curl --capath /local/directory https://example.com
    --cert-status Verifique el estado del certificado del servidor.

    Ejemplo:
    curl --cert-status https://example.com
    --cert-type <type> Especifique el tipo de certificado proporcionado. Los tipos reconocidos son PEM (predeterminado), DER , ENG y P12 .

    Ejemplo:
    curl --cert-type ENG --cert file https://example.com
    -E, --cert <certificate[:password]> Utilice el archivo de certificado proporcionado cuando trabaje con un protocolo basado en SSL.

    Ejemplo:
    curl --cert certfile --key keyfile https://example.com
    --ciphers <list of ciphers> Proporcione cifrados que se utilizarán en la conexión.

    Ejemplo:
    curl --ciphers ECDHE-ECDSA-AES256-CCM8 https://example.com
    --compressed-ssh Habilite la compresión SSH integrada.

    Ejemplo:
    curl --compressed-ssh sftp://example.com/
    --compressed Solicitud para recibir una respuesta comprimida.

    Ejemplo:
    curl --compressed https://example.com
    -K, --config <file> Proporcione un archivo de texto con argumentos curl, en lugar de escribirlos en la línea de comando.

    Ejemplo:
    curl --config file.txt https://example.com
    --connect-timeout <fractional seconds> Especifique el tiempo máximo que puede durar una conexión curl.

    Ejemplo:
    curl --connect-timeout 30 https://example.com
    --connect-to <HOST1:PORT1:HOST2:PORT2> Proporcione una regla de conexión para dirigir las solicitudes a un nodo de clúster de servidor específico.

    Ejemplo:
    curl --connect-to example.com:443:example.net:8443 https://example.com
    -C, --continue-at <offset> Reanude la transferencia de archivos en el desplazamiento especificado.

    curl -C 400 https://example.com
    -c, --cookie-jar <filename> Especifique un archivo para almacenar cookies.

    curl -c store.txt https://example.com
    -b, --cookie <data|filename> Leer cookies de un archivo.

    Ejemplo:
    curl -b cookiefile https://example.com
    --create-dirs Cree los directorios locales para --output opción.

    Ejemplo:
    curl --create-dirs --output local/dir/file https://example.com
    --create-file-mode <mode> Especifique qué modo establecer al crear el archivo.

    Ejemplo:
    curl --create-file-mode 0777 -T localfile sftp://example.com/new
    --crlf Convertir LF a CRLF.

    curl --crlf -T file ftp://example.com/
    --crlfile <file> Proporcione una lista de revocación de certificados para certificados de pares.

    curl --crlfile revoke.txt https://example.com
    --curves <algorithm list> Proporcione curvas para establecer una sesión SSL.

    Ejemplo:
    curl --curves X25519 https://example.com
    --data-ascii <data> Ver -d , --data .

    Ejemplo:
    curl --data-ascii @file https://example.com
    --data-binary <data> Publicar datos como se especifica, sin procesamiento adicional.

    curl --data-binary @filename https://example.com
    --data-raw <data> Igual que -d , --data , pero el carácter @ no se trata de forma diferente al resto.

    curl --data-raw "@[email protected]@" https://example.com
    --data-urlencode <data> Igual que -d , --data , pero realiza la codificación de URL.

    Ejemplo:
    curl --data-urlencode name=val https://example.com
    -d, --data <data> Envía datos a un servidor HTTP en una solicitud POST.

    Ejemplo:
    curl -d "name=curl" https://example.com
    --delegation <LEVEL> Especifique cuándo se le permite al servidor delegar credenciales.

    Ejemplo:
    curl --delegation "always" https://example.com
    --digest Habilite la autenticación HTTP Digest.

    Ejemplo:
    curl -u name:password --digest https://example.com
    --disable-eprt Deshabilitar los comandos EPRT y LPRT para transferencias FTP activas.

    Ejemplo:
    curl --disable-eprt ftp://example.com/
    --disable-epsv Deshabilitar EPSV para transferencias FTP pasivas.

    Ejemplo:
    curl --disable-epsv ftp://example.com/
    -q, --disable Deshabilitar la lectura del archivo de configuración curlrc.

    curl -q https://example.com 
    --disallow-username-in-url Salga si se le proporciona una URL que contiene un nombre de usuario.

    Ejemplo:
    curl --disallow-username-in-url https://example.com
    --dns-interface <interface> Especifique una interfaz para las solicitudes de DNS salientes.

    Ejemplo:
    curl --dns-interface eth0 https://example.com
    --dns-ipv4-addr <address> Especifique una dirección IPv4 de donde provendrán las solicitudes de DNS.

    Ejemplo:
    curl --dns-ipv4-addr 10.1.2.3 https://example.com
    --dns-ipv6-addr <address> Especifique una dirección IPv6 de donde provendrán las solicitudes de DNS.

    Ejemplo:
    curl --dns-ipv6-addr 2a04:4e42::561 https://example.com
    --dns-servers <addresses> Especifique su propia lista de servidores DNS.

    Ejemplo:
    curl --dns-servers 192.168.0.1,192.168.0.2 https://example.com
    --doh-cert-status --cert-status para DNS sobre HTTPS.

    Ejemplo:
    curl --doh-cert-status --doh-url https://doh.server https://example.com 
    --doh-insecure -k , --insecure para DoH.

    Ejemplo:
    curl --doh-insecure --doh-url https://doh.server https://example.com
    --doh-url <URL> Especifique un servidor DoH para la resolución de nombres de host.

    Ejemplo:
    curl --doh-url https://doh.server https://example.com 
    -D, --dump-header <filename> Especifique un archivo para escribir encabezados de protocolo.

    Ejemplo:
    curl --dump-header store.txt https://example.com 
    --egd-file <file> Proporcione una ruta para el conector EGD.

    Ejemplo:
    curl --egd-file /path/here https://example.com 
    --engine <name> Especifique un motor criptográfico OpenSSL.

    Ejemplo:
    curl --engine flavor https://example.com 
    --etag-compare <file> Solicite una lectura de ETag de un archivo.

    Ejemplo:
    curl --etag-compare etag.txt https://example.com 
    --etag-save <file> Guarde una ETag HTTP en un archivo.

    Ejemplo:
    curl --etag-save etag.txt https://example.com 
    --expect100-timeout <seconds> Tiempo de espera máximo para una respuesta de 100 continuaciones.

    Ejemplo:
    curl --expect100-timeout 2.5 -T file https://example.com 
    --fail-early Dígale a curl que falle y salga cuando detecte el primer error en la transferencia.

    Ejemplo:
    curl --fail-early https://example.com https://two.example 
    --fail-with-body Si el servidor devuelve un error con el código 400 o superior, curl guarda el contenido y devuelve el error 22.

    Ejemplo:
    curl --fail-with-body https://example.com 
    -f, --fail Si el servidor devuelve un error, curl falla silenciosamente y devuelve el error 22.

    Ejemplo:
    curl --fail https://example.com 
    --false-start Usar inicio en falso en el protocolo de enlace TLS.

    Ejemplo:
    curl --false-start https://example.com 
    --form-string <name=string> Similar a -F , --form , pero las cadenas de valor se procesan literalmente.

    Ejemplo:
    curl --form-string "data" https://example.com 
    -F, --form <name=content> Emule un formulario con Enviar botón que ha sido presionado. El @ sign fuerza que el contenido sea un archivo. El < sign extrae solo la parte del contenido del archivo.

    Ejemplo:
    curl --form "name=curl" --form "[email protected]" https://example.com
    --ftp-account <data> Especifique los datos de la cuenta para el servidor FTP.

    Ejemplo:
    curl --ftp-account "account_data" ftp://example.com/
    --ftp-alternative-to-user <command> Especifique el comando que se enviará si falla la autenticación del nombre de usuario y la contraseña.

    Ejemplo:
    curl --ftp-alternative-to-user "U53r" ftp://example.com 
    --ftp-create-dirs Si el directorio especificado no existe, curl intentará crearlo.

    Ejemplo:
    curl --ftp-create-dirs -T file ftp://example.com/dirs/one/file 
    --ftp-method <method> Especifique un método que se utilizará para obtener archivos a través de FTP. Los métodos disponibles son multicwd , nocwd y singlecwd .

    Ejemplo:
    curl --ftp-method multicwd ftp://example.com/dir1/dir2/file 
    --ftp-pasv Utilice el modo de conexión de datos pasiva.

    Ejemplo:
    curl --ftp-pasv ftp://example.com/ 
    -P, --ftp-port <address> Invierta los roles predeterminados para la conexión FTP.

    Ejemplo:
    curl -P eth0 ftp:/example.com 
    --ftp-pret Envía el comando PRET antes de PASV/EPSV.

    Ejemplo:
    curl --ftp-pret ftp://example.com/ 
    --ftp-skip-pasv-ip No utilice la dirección IP sugerida por el servidor. curl usará la IP de conexión de control.

    Ejemplo:
    curl --ftp-skip-pasv-ip ftp://example.com/ 
    --ftp-ssl-ccc-mode <active/passive> Configure el modo Borrar canal de comando (CCC).

    Ejemplo:
    curl --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/ 
    --ftp-ssl-ccc Una vez completada la autenticación, se elimina la capa SSL/TLS, lo que permite la comunicación sin cifrar.

    Ejemplo:
    curl --ftp-ssl-ccc ftps://example.com/ 
    --ftp-ssl-control Utilice SSL/TLS para iniciar sesión, detenga el cifrado cuando comience la transferencia de datos.

    Ejemplo:
    curl --ftp-ssl-control ftp://example.com 
    -G, --get Utilice la solicitud HTTP GET en lugar de POST.

    Ejemplo:
    curl --get -d "tool=curl" -d "age=old" https://example.com
    -g, --globoff Deshabilitar el analizador global de URL.

    Ejemplo:
    curl -g "https://example.com/{[]}}}}" 
    --happy-eyeballs-timeout-ms <milliseconds> Utilice el algoritmo Happy Eyeballs para conectarse a hosts de doble pila.

    Ejemplo:
    curl --happy-eyeballs-timeout-ms 500 https://example.com 
    --haproxy-protocol Utilice el encabezado v1 del protocolo HAProxy PROXY.

    Ejemplo:
    curl --haproxy-protocol https://example.com 
    -I, --head Obtener solo encabezados.

    Ejemplo:
    curl -I https://example.com 
    -H, --header <header/@file> Especifique un encabezado adicional para enviar en la solicitud HTTP.

    Ejemplo:
    curl -H "X-First-Name: Joe" https://example.com 
    -h, --help <category> Ver ayuda para una categoría específica. all enumera todas las opciones disponibles.

    Ejemplo:
    curl --help all 
    --hostpubmd5 <md5> Pase una cadena hexadecimal de 32 dígitos.

    Ejemplo:
    curl --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/ 
    --hsts <file name> Habilitar HSTS.

    Ejemplo:
    curl --hsts cache.txt https://example.com 
    --http0.9 Acepte una respuesta HTTP versión 0.9.

    Ejemplo:
    curl --http0.9 https://example.com
    -0, --http1.0 Utilice HTTP versión 1.0.

    Ejemplo:
    curl --http1.0 https://example.com
    --http1.1 Utilice HTTP versión 1.1.

    Ejemplo:
    curl --http1.1 https://example.com 
    --http2-prior-knowledge Utilice HTTP versión 2.0. Utilice esta opción si sabe que el servidor admite esta versión de HTTP.

    Ejemplo:
    curl --http2-prior-knowledge https://example.com
    --http2 Intente usar HTTP versión 2.0.

    Ejemplo:
    curl --http2 https://example.com
    --http3 Utilice HTTP versión 3.0. Esta es una opción experimental.

    Ejemplo:
    curl --http3 https://example.com
    --ignore-content-length Ignore el encabezado Content-Length.

    Ejemplo:
    curl --ignore-content-length https://example.com
    -i, --include Especifique que la salida debe incluir los encabezados de respuesta HTTP.

    Ejemplo:
    curl -i https://example.com
    -k, --insecure Permitir que curl funcione con conexiones inseguras.

    Ejemplo:
    curl --insecure https://example.com 
    --interface <name> Especifique la interfaz para realizar una acción.

    Ejemplo:
    curl --interface eth0 https://example.com 
    -4, --ipv4 Solo resuelva nombres a direcciones IPv4.

    Ejemplo:
    curl --ipv4 https://example.com 
    -6, --ipv6 Solo resuelva nombres a direcciones IPv6.

    Ejemplo:
    curl --ipv6 https://example.com
    -j, --junk-session-cookies Descartar las cookies de sesión.

    Ejemplo:
    curl --junk-session-cookies -b cookies.txt https://example.com 
    --keepalive-time <seconds> Especifique el tiempo de inactividad de la conexión antes de enviar sondeos de actividad.

    Ejemplo:
    curl --keepalive-time 30 https://example.com 
    --key-type <type> Especifique el tipo de clave privada. Los tipos disponibles son PEM (predeterminado), DER y ENG .

    Ejemplo:
    curl --key-type ENG --key here https://example.com 
    --key <key> Especifique el archivo que contiene la clave privada.

    Ejemplo:
    curl --cert certificate --key here https://example.com 
    --krb <level> Habilite y use la autenticación Kerberos. Los niveles disponibles son clear , safe , confidential y private (defecto).

    Ejemplo:
    curl --krb clear ftp://example.com/ 
    --libcurl <file> Obtenga el código fuente C para la operación de línea de comando especificada.

    Ejemplo:
    curl --libcurl client.c https://example.com 
    --limit-rate <speed> Especifique la tasa máxima de transferencia de carga y descarga.

    Ejemplo:
    curl --limit-rate 100K https://example.com 
    -l, --list-only Fuerza una vista de solo nombre.

    Ejemplo:
    curl --list-only ftp://example.com/dir/ 
    --local-port <num/range> Especifique los números de puerto que se utilizarán para la conexión.

    Ejemplo:
    curl --local-port 1000-3000 https://example.com 
    --location-trusted Similar a -L , --location , pero le permite enviar el nombre y la contraseña a todas las redirecciones.

    Ejemplo:
    curl --location-trusted -u user:pass https://example.com
    -L, --location Permitir que curl siga cualquier redirección.

    Ejemplo:
    curl -L https://example.com 
    --login-options <options> Especifique las opciones de inicio de sesión para la autenticación del servidor de correo electrónico.

    Ejemplo:
    curl --login-options 'AUTH=*' imap://example.com 
    --mail-auth <address> Proporcione una sola dirección como identidad.

    Ejemplo:
    curl --mail-auth [email protected] -T mail smtp://example.com/ 
    --mail-from <address> Proporcione una sola dirección "de".

    Ejemplo:
    curl --mail-from [email protected] -T mail smtp://example.com/ 
    --mail-rcpt-allowfails Permite que curl continúe con la conversación SMTP si uno de los destinatarios falla.

    Ejemplo:
    curl --mail-rcpt-allowfails --mail-rcpt [email protected] smtp://example.com 
    --mail-rcpt <address> Proporcione una sola dirección "para".

    Ejemplo:
    curl --mail-rcpt [email protected] smtp://example.com 
    -M, --manual Lee el manual de curl.

    Ejemplo:
    curl --manual 
    --max-filesize <bytes> Proporcione el tamaño máximo del archivo a descargar.
    Ejemplo:
    curl --max-filesize 500K https://example.com 
    --max-redirs <num> Especifique el número máximo de redireccionamientos cuando --location está activo.

    Ejemplo:
    curl --max-redirs 3 --location https://example.com 
    -m, --max-time <fractional seconds> Especifique el tiempo máximo para una operación.

    Ejemplo:
    curl --max-time 5.52 https://example.com 
    --metalink Especifique un recurso metalink. Esta opción está deshabilitada en las versiones más recientes de curl.

    Ejemplo:
    curl --metalink file https://example.com 
    --negotiate Habilite la autenticación SPNEGO.

    Ejemplo:
    curl --negotiate -u : https://example.com
    --netrc-file <filename> Me gusta --n , --netrc , pero le permite especificar el archivo a utilizar.

    Ejemplo:
    curl --netrc-file netrc https://example.com 
    --netrc-optional Me gusta --n , --netrc , pero usar netrc es opcional.

    Ejemplo:
    curl --netrc-optional https://example.com 
    -n, --netrc Busque en el archivo netrc la información de inicio de sesión.

    Ejemplo:
    curl --netrc https://example.com 
    -:, --next Utilice la opción para separar las solicitudes de URL.

    Ejemplo:
    curl -I https://example.com --next https://example.net/ 
    --no-alpn Deshabilitar la extensión ALPN TLS.

    Ejemplo:
    curl --no-alpn https://example.com 
    -N, --no-buffer Deshabilitar el búfer de flujo de salida.

    Ejemplo:
    curl --no-buffer https://example.com 
    --no-keepalive Deshabilitar los mensajes de actividad.

    Ejemplo:
    curl --no-keepalive https://example.com 
    --no-npn Deshabilitar la extensión NPN TLS.

    Ejemplo:
    curl --no-npn https://example.com 
    --no-progress-meter Deshabilitar la barra de progreso pero mostrar cualquier otro mensaje.

    Ejemplo:
    curl --no-progress-meter -o store https://example.com 
    --no-sessionid Deshabilitar el almacenamiento en caché de ID de sesión SSL.

    Ejemplo:
    curl --no-sessionid https://example.com 
    --noproxy <no-proxy-list> Enumere los hosts que no deberían usar un proxy.

    Ejemplo:
    curl --noproxy "www.example" https://example.com 
    --ntlm-wb Me gusta --ntlm , pero también entrega la autenticación a ntlmauth.

    Ejemplo:
    curl --ntlm-wb -u user:password https://example.com 
    --ntlm Habilite la autenticación NTLM.

    Ejemplo:
    curl --ntlm -u user:password https://example.com 
    --oauth2-bearer <token> Proporcione un token de portador para OAUTH 2.0.

    Ejemplo:
    curl --oauth2-bearer "mF_9.B5f-4.1JqM" https://example.com 
    --output-dir <dir> Especifique el directorio del archivo de salida.

    Ejemplo:
    curl --output-dir "tmp" -O https://example.com 
    -o, --output <file> Almacenar la salida en un archivo. La salida no se muestra en stdout.

    Ejemplo:
    curl -o file https://example.com -o file2 https://example.net 
    --parallel-immediate Preferir conexiones paralelas a esperar nuevas conexiones o flujos multiplexados.

    Ejemplo:
    curl --parallel-immediate -Z https://example.com -o file1 https://example.com -o file2
    --parallel-max <num> Especifique el número máximo de conexiones paralelas.

    Ejemplo:
    curl --parallel-max 100 -Z https://example.com ftp://example.com/ 
    -Z, --parallel Realizar transferencias en paralelo.

    Ejemplo:
    curl --parallel https://example.com -o file1 https://example.com -o file2
    --pass <phrase> Especifique una frase de contraseña de clave privada.

    Ejemplo:
    curl --pass secret --key file https://example.com 
    --path-as-is Evitar que curl se fusione /./ y /../ secuencias.

    Ejemplo:
    curl --path-as-is https://example.com/../../etc/passwd
    --pinnedpubkey <hashes> Especifique una clave pública para que la use curl.

    Ejemplo:
    curl --pinnedpubkey keyfile https://example.com 
    --post301 Evite que curl convierta solicitudes POST a GET después de una redirección 301.

    Ejemplo:
    curl --post301 --location -d "data" https://example.com 
    --post302 Evite que curl convierta solicitudes POST a GET después de una redirección 302.

    curl --post302 --location -d "data" https://example.com 
    --post303 Evite que curl convierta solicitudes POST a GET después de una redirección 303.

    Ejemplo:
    curl --post303 --location -d "data" https://example.com 
    --preproxy [protocol://]host[:port] Utilice el proxy SOCKS como pre-proxy.

    Ejemplo:
    curl --preproxy socks5://proxy.example -x http://http.example https://example.com 
    -#, --progress-bar Utilice la barra de progreso simple.

    Ejemplo:
    curl -# -O https://example.com 
    --proto-default <protocol> Especifique qué protocolo debe usar curl para las URL sin un nombre de esquema.

    Ejemplo:
    curl --proto-default https ftp.example.com 
    --proto-redir <protocols> Especifique qué protocolos debe usar curl en la redirección.

    Ejemplo:
    curl --proto-redir =http,https https://example.com 
    --proto <protocols> Especifique qué protocolos debe usar curl para las transferencias.

    Ejemplo:
    curl --proto =http,https,sftp https://example.com 
    --proxy-anyauth Curl debe elegir un método de autenticación adecuado.

    Ejemplo:
    curl --proxy-anyauth --proxy-user user:passwd -x proxy https://example.com
    --proxy-basic Use HTTP Basic para la comunicación con un proxy.

    Ejemplo:
    curl --proxy-basic --proxy-user user:passwd -x proxy https://example.com 
    --proxy-cacert <file> --cacert for HTTPS proxies.

    Ejemplo:
    curl --proxy-cacert CA-file.txt -x https://proxy https://example.com 
    --proxy-capath <dir> --capath for HTTPS proxies.

    Ejemplo:
    curl --proxy-capath /local/directory -x https://proxy https://example.com
    --proxy-cert-type <type> --cert-type for HTTPS proxies.

    Ejemplo:
    curl --proxy-cert-type PEM --proxy-cert file -x https://proxy https://example.com
    --proxy-cert <cert[:passwd]> -E , --cert for HTTPS proxies.

    Ejemplo:
    curl --proxy-cert file -x https://proxy https://example.com 
    --proxy-ciphers <list> --ciphers for HTTPS proxies.

    curl --proxy-ciphers ECDHE-ECDSA-AES256-CCM8 -x https://proxy https://example.com 
    --proxy-crlfile <file> --crlfile for HTTPS proxies.

    Ejemplo:
    curl --proxy-crlfile rejects.txt -x https://proxy https://example.com
    --proxy-digest Use HTTP Digest authentication with a proxy.

    Ejemplo:
    curl --proxy-digest --proxy-user user:passwd -x proxy https://example.com 
    --proxy-header <header/@file> -H , --header for proxy communication.

    Ejemplo:
    curl --proxy-header "Host:" -x http://proxy https://example.com 
    --proxy-insecure -k , --insecure for HTTPS proxies.

    Ejemplo:
    curl --proxy-insecure -x https://proxy https://example.com 
    --proxy-key-type <type> --key-type for HTTPS proxies.

    Ejemplo:
    curl --proxy-key-type DER --proxy-key here -x https://proxy https://example.com 
    --proxy-key <key> --key for HTTPS proxies.

    Ejemplo:
    curl --proxy-key here -x https://proxy https://example.com 
    --proxy-negotiate --negotiate for proxy communication.

    Ejemplo:
    curl --proxy-negotiate --proxy-user user:passwd -x proxy https://example.com
    --proxy-ntlm Use HTTP NTLM authentication with a proxy.

    Ejemplo:
    curl --proxy-ntlm --proxy-user user:passwd -x http://proxy https://example.com
    --proxy-pass <phrase> --pass for HTTPS proxies.

    Ejemplo:
    curl --proxy-pass secret --proxy-key here -x https://proxy https://example.com 
    --proxy-pinnedpubkey <hashes> Specify the public key for proxy verification.

    Ejemplo:
    curl --proxy-pinnedpubkey keyfile https://example.com 
    --proxy-service-name <name> Specify the service name for proxy communciation.

    Ejemplo:
    curl --proxy-service-name "shrubbery" -x proxy https://example.com 
    --proxy-ssl-allow-beast --ssl-allow-beast for HTTPS proxies.

    Ejemplo:
    curl --proxy-ssl-allow-beast -x https://proxy https://example.com 
    --proxy-ssl-auto-client-cert --ssl-auto-client-cert for HTTPS proxies.

    Ejemplo:
    curl --proxy-ssl-auto-client-cert -x https://proxy https://example.com 
    --proxy-tls13-ciphers <ciphersuite list> Specifies the list of cipher suites to use in negotiating TLS 1.3 for proxies.

    Ejemplo:
    curl --proxy-tls13-ciphers TLS_AES_128_GCM_SHA256 -x proxy https://example.com
    --proxy-tlsauthtype <type> --tlsauthtype for HTTPS proxies.

    Ejemplo:
    curl --proxy-tlsauthtype SRP -x https://proxy https://example.com 
    --proxy-tlspassword <string> --tlspassword for HTTPS proxies.

    Ejemplo:
    curl --proxy-tlspassword passwd -x https://proxy https://example.com 
    --proxy-tlsuser <name> --tlsuser for HTTPS proxies.

    Ejemplo:
    curl --proxy-tlsuser smith -x https://proxy https://example.com 
    --proxy-tlsv1 -1 , --tlsv1 for HTTPS proxies.

    Ejemplo:
    curl --proxy-tlsv1 -x https://proxy https://example.com 
    -U, --proxy-user <user:password> Specify the username and password for authenticating with a proxy.

    Ejemplo:
    curl --proxy-user name:pwd -x proxy https://example.com 
    -x, --proxy [protocol://]host[:port] Specify a proxy to use.

    Ejemplo:
    curl --proxy http://proxy.example https://example.com 
    --proxy1.0 <host[:port]> Specify a HTTP 1.0 proxy to use.

    Ejemplo:
    curl --proxy1.0 -x http://proxy https://example.com 
    -p, --proxytunnel Create a proxy tunnel.

    Ejemplo:
    curl --proxytunnel -x http://proxy https://example.com 
    --pubkey <key> Provide a file containing a public key.

    Ejemplo:
    curl --pubkey file.pub sftp://example.com/ 
    -Q, --quote <command> Send a command to a FTP or SFTP server, to be executed before the transfer.

    Ejemplo:
    curl --quote "rm file" ftp://example.com/foo 
    --random-file <file> Specify a file containing random data. This file will be used for seeding the random engine.

    Ejemplo:
    curl --random-file rubbish https://example.com 
    -r, --range <range> Obtain a range of bytes.

    Ejemplo:
    curl --range 40-80 https://example.com 
    --raw Disable HTTP content decoding and obtain raw data.

    Ejemplo:
    curl --raw https://example.com 
    -e, --referer <URL> Send Referrer Page information.

    Ejemplo:
    curl --referer "https://test.example" https://example.com 
    -J, --remote-header-name Use header name specified by the server instead of obtaining it from the URL.

    Ejemplo:
    curl -OJ https://example.com/file 
    --remote-name-all Apply the -O , --remote-name option to all the URLs.

    Ejemplo:
    curl --remote-name-all ftp://example.com/file1 ftp://example.com/file2 
    -O, --remote-name Specify that the local file should have the name of the remote file that was downloaded.

    Ejemplo:
    curl -O https://example.com/filename 
    -R, --remote-time Specify that the local file should have the timestamp of the remote file that was downloaded.

    Ejemplo:
    curl --remote-time -o foo https://example.com 
    --request-target <path> Specify an alternative target path.

    Ejemplo:
    curl --request-target "*" -X OPTIONS https://example.com 
    -X, --request <command> Specify a request method for communication with the server.

    Ejemplo:
    curl -X "DELETE" https://example.com 
    --resolve <[+]host:port:addr[,addr]...> Specify a custom address for a host/port.

    Ejemplo:
    curl --resolve example.com:443:127.0.0.1 https://example.com 
    --retry-all-errors Force retrying on all errors.

    Ejemplo:
    curl --retry-all-errors https://example.com 
    --retry-connrefused Add ECONNREFUSED to the list of errors that are eligible for --retry .

    Ejemplo:
    curl --retry-connrefused --retry https://example.com 
    --retry-delay <seconds> Specify the amount of time between retries.

    Ejemplo:
    curl --retry-delay 5 --retry https://example.com 
    --retry-max-time <seconds> Specify the maximum amount of time for --retry attempts.

    Ejemplo:
    curl --retry-max-time 30 --retry 10 https://example.com 
    --retry <num> Specify the number of retries after curl encounters and error.

    Ejemplo:
    curl --retry 7 https://example.com
    --sasl-authzid <identity> Specify an additional authentication identity for SASL PLAIN authentication.

    Ejemplo:
    curl --sasl-authzid zid imap://example.com/ 
    --sasl-ir Enable initial response during SASL authentication.

    Ejemplo:
    curl --sasl-ir imap://example.com/ 
    --service-name <name> Specify the SPNEGO service name.

    Ejemplo:
    curl --service-name sockd/server https://example.com 
    -S, --show-error Show an error message event with the -s , --silent option enabled.

    Ejemplo:
    curl --show-error --silent https://example.com 
    -s, --silent Turn on the silent mode. This option mutes curl.

    Ejemplo:
    curl -s https://example.com 
    --socks4 <host[:port]> Specify a SOCKS4 proxy.

    Ejemplo:
    curl --socks4 hostname:4096 https://example.com 
    --socks4a <host[:port]> Specify a SOCKS4a proxy.

    Ejemplo:
    curl --socks4a hostname:4096 https://example.com 
    --socks5-basic Use the basic authentication method (username/password) with a SOCKS5 proxy.

    Ejemplo:
    curl --socks5-basic --socks5 hostname:4096 https://example.com 
    --socks5-gssapi-nec Allow protection mode negotiation to be unprotected.

    Ejemplo:
    curl --socks5-gssapi-nec --socks5 hostname:4096 https://example.com 
    --socks5-gssapi-service <name> Change the name of a socks server.

    Ejemplo:
    curl --socks5-gssapi-service sockd --socks5 hostname:4096 https://example.com 
    --socks5-gssapi Use GSS-API authentication with a SOCKS5 proxy.

    Ejemplo:
    curl --socks5-gssapi --socks5 hostname:4096 https://example.com 
    --socks5-hostname <host[:port]> Specify the SOCKS5 proxy to use.

    Ejemplo:
    curl --socks5-hostname proxy.example:7000 https://example.com 
    --socks5 <host[:port]> Specify the SOCKS5 proxy to use. The hostname is resolved locally.

    Ejemplo:
    curl --socks5 proxy.example:7000 https://example.com 
    -Y, --speed-limit <speed> Set the lower limit for the download speed.

    Ejemplo:
    curl --speed-limit 300 --speed-time 10 https://example.com 
    -y, --speed-time <seconds> Set the time period for the speed limit measurement.

    Ejemplo:
    curl --speed-limit 300 --speed-time 10 https://example.com 
    --ssl-allow-beast Tell curl to ignore the BEAST security flaw in the SSL3 and TLS1.0 protocols.

    Ejemplo:
    curl --ssl-allow-beast https://example.com 
    --ssl-auto-client-cert Obtain and use a client certificate automatically.

    Ejemplo:
    curl --ssl-auto-client-cert https://example.com 
    --ssl-no-revoke Do not check for certificate revocation.

    Ejemplo:
    curl --ssl-no-revoke https://example.com 
    --ssl-reqd Require SSL/TLS.

    Ejemplo:
    curl --ssl-reqd ftp://example.com 
    --ssl-revoke-best-effort Ignore certificate revocation checks if they failed because of missing distribution points.

    Ejemplo:
    curl --ssl-revoke-best-effort https://example.com 
    --ssl Attempt to use SSL.

    Ejemplo:
    curl --ssl pop3://example.com/ 
    -2, --sslv2 Use SSLv2. Newer curl versions ignore this request due to security concerns with SSLv2.

    Ejemplo:
    curl --sslv2 https://example.com 
    -3, --sslv3 Use SSLv3. Newer curl versions ignore this request due to security concerns with SSLv3.

    Ejemplo:
    curl --sslv3 https://example.com 
    --stderr <file> Output stderr to a file. The - symbol tells curl to output stderr to stdout.

    Ejemplo:
    curl --stderr output.txt https://example.com 
    --styled-output Enable bold fonts for HTTP header terminal output.

    curl --styled-output -I https://example.com 
    --suppress-connect-headers Prevent curl from outputting CONNECT headers.

    Ejemplo:
    curl --suppress-connect-headers --include -x proxy https://example.com 
    --tcp-fastopen Enable TCP Fast Open.

    Ejemplo:
    curl --tcp-fastopen https://example.com
    --tcp-nodelay Enable TCP_NODELAY.

    Ejemplo:
    curl --tcp-nodelay https://example.com 
    -t, --telnet-option <opt=val> Pass the TTYPE , XDISPLOC , and NEW_ENV options to the telnet protocol.

    Ejemplo:
    curl -t TTYPE=vt100 telnet://example.com/ 
    --tftp-blksize <value> Set the value of TFTP BLKSIZE. Must be a value larger than 512.

    Ejemplo:
    curl --tftp-blksize 1024 tftp://example.com/file 
    --tftp-no-options Prevents curl from sending requests for TFTP options.

    Ejemplo:
    curl --tftp-no-options tftp://192.168.0.1/ 
    -z, --time-cond <time> Request a document that was modified after a certain date and time. For documents modified before the time, prefix the date expression with a dash.

    Ejemplo:
    curl -z "Wed 01 Sep 2021 12:18:00" https://example.com 
    --tls-max <VERSION> Specify the newest TLS version that is supported.

    Ejemplo:
    curl --tls-max 1.2 https://example.com 
    --tls13-ciphers <ciphersuite list> Specifies the list of cipher suites to use in negotiating TLS 1.3

    Ejemplo:
    curl --tls13-ciphers TLS_AES_128_GCM_SHA256 https://example.com 
    --tlsauthtype <type> Specify the TLS authentication type.

    Ejemplo:
    curl --tlsauthtype SRP https://example.com 
    --tlspassword <string> Specify the TLS password.

    Ejemplo:
    curl --tlspassword pwd --tlsuser user https://example.com 
    --tlsuser <name> Specify the TLS username.

    Ejemplo:
    curl --tlspassword pwd --tlsuser user https://example.com 
    --tlsv1.0 Tell curl to use TLS1.0 or newer.

    Ejemplo:
    curl --tlsv1.0 https://example.com 
    --tlsv1.1 Tell curl to use TLS1.1 or newer.

    Ejemplo:
    curl --tlsv1.1 https://example.com 
    --tlsv1.2 Tell curl to use TLS1.2 or newer.

    Ejemplo:
    curl --tlsv1.2 https://example.com 
    --tlsv1.3 Tell curl to use TLS1.3 or newer.

    Ejemplo:
    curl --tlsv1.3 https://example.com 
    -1, --tlsv1 Specify that curl should use at least 1.x version of TLS.

    Ejemplo:
    curl --tlsv1 https://example.com 
    --tr-encoding Ask for a compressed Transfer-Encoding response.

    Ejemplo:
    curl --tr-encoding https://example.com 
    --trace-ascii <file> Enable a full trace dump to a file. Eliminates the hex part and shows only ASCII.

    Ejemplo:
    curl --trace-ascii log.txt https://example.com 
    --trace-time Require a time stamp on each trace or verbose line.

    Ejemplo:
    curl --trace-time --trace-ascii output https://example.com 
    --trace <file> Enable a full trace dump to a file.

    Ejemplo:
    curl --trace log.txt https://example.com 
    --unix-socket <path> Specify a Unix socket path.

    Ejemplo:
    curl --unix-socket socket-path https://example.com 
    -T, --upload-file <file> Upload a file to the URL.

    Ejemplo:
    curl -T "img[1-1000].png" ftp://ftp.example.com/ 
    --url <url> Provide a URL to be fetched.

    Ejemplo:
    curl --url https://example.com 
    -B, --use-ascii Enable ASCII transfer.

    Ejemplo:
    curl -B ftp://example.com/README 
    -A, --user-agent <name> Specify the user agent name.

    Ejemplo:
    curl -A "Agent 007" https://example.com 
    -u, --user <user:password> Provide the username and password for authentication.

    Ejemplo:
    curl -u user:secret https://example.com 
    -v, --verbose Tell curl to be verbose.

    Ejemplo:
    curl --verbose https://example.com 
    -V, --version See the installed versions of curl and libcurl.

    Ejemplo:
    curl --version 
    -w, --write-out <format> Tell curl to show information about the completed transfer on stdout.

    Ejemplo:
    curl -w '%{http_code}\n' https://example.com 
    --xattr Store file metadata in file attributes.

    Ejemplo:
    curl --xattr -o storage https://example.com