Comando curl de Linux

comando de rizo

El comando curl transfiere datos hacia o desde un servidor de red, utilizando uno de los protocolos admitidos (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP o FILE). Está diseñado para funcionar sin interacción del usuario, por lo que es ideal para usar en un script de shell.

El software ofrece soporte proxy, autenticación de usuario, carga FTP, publicación HTTP, conexiones SSL, cookies, reanudación de transferencia de archivos, metalink y otras características.

Sintaxis

curl [opciones] [URL ...]

-a, --append

(FTP / SFTP) Cuando se usa en una carga FTP, esto le indicará a curl que se agregue al archivo de destino en lugar de sobrescribirlo. Si el archivo no existe, se creará.

Tenga en cuenta que esta opción es ignorada por algunos servidores SSH, incluido OpenSSH.

-A, --user-agent <cadena de agente>

(HTTP) Especifique la cadena de agente de usuario para enviar al servidor HTTP. Algunos CGI fallan si la cadena del agente no está configurada en "Mozilla / 4.0". Para codificar espacios en blanco en la cadena, rodee la cadena con comillas simples.

Este valor también se puede establecer con la opción de encabezado -H / -.

Si esta opción se configura más de una vez, la última será la que se use.

--anyauth

(HTTP) Le dice a curl que descubra el método de autenticación por sí mismo y use el método más seguro que el sitio remoto afirma que admite. Esto se realiza haciendo primero una solicitud y verificando los encabezados de respuesta, lo que posiblemente induzca un viaje de ida y vuelta a la red. Esto se usa en lugar de establecer un método de autenticación específico, que puede hacer con --basic, --digest, --ntlm y --negotiate.

Tenga en cuenta que no se recomienda usar --anyauth si carga desde stdin, ya que puede requerir que los datos se envíen dos veces y luego el cliente debe poder rebobinar. Si surge la necesidad al cargar desde stdin, la operación de carga fallará.

-b, - cookie <nombre = datos>

(HTTP) Pase los datos al servidor HTTP como una cookie. Se espera que sean los datos recibidos previamente del servidor en una línea "Set-Cookie:". Los datos deben estar en el formato "NOMBRE1 = VALOR1; NOMBRE2 = VALOR2".

Si no se usa el carácter '=' (igual) en la línea, se trata como un nombre de archivo para leer las líneas de cookies almacenadas previamente, que deberían usarse en esta sesión si coinciden. El uso de este método también activa el "analizador de cookies" que también hará que las cookies entrantes de registro de rizos también, lo que puede ser útil si está usando esto en combinación con la opción --location. El formato de archivo del archivo para leer las cookies debe ser encabezados HTTP simples o el formato de archivo de cookies Netscape / Mozilla.

NOTA: el archivo especificado con -b / - cookie solo se usa como entrada. No se almacenarán cookies en el archivo. Para almacenar cookies, use la opción -c / - cookie-jar, o puede guardar los encabezados HTTP en un archivo usando -D / - dump-header.

Si esta opción se configura más de una vez, la última aparición será la opción utilizada.

-B, --use-ascii

(FTP / LDAP) Habilita la transferencia ASCII. Para FTP, esto también se puede aplicar mediante el uso de una URL que termina con "; Tipo = A". Esta opción hace que los datos enviados a stdout estén en modo texto para los sistemas win32.

Si esta opción se usa dos veces, la segunda deshabilitará el uso de ASCII.

--básico

(HTTP) Le dice a curl que use la autenticación básica HTTP. Este es el valor predeterminado y esta opción generalmente no tiene sentido, a menos que la use para anular una opción establecida previamente que establece un método de autenticación diferente (como --ntlm, --digest y --negotiate).

--ciphers <lista de cifrados>

(SSL) Especifica qué cifrados usar en la conexión. Los cifrados enumerados deben ser válidos. Puede leer los detalles de la lista de cifrado SSL en openssl.org.

Los cifrados NSS se realizan de manera diferente que OpenSSL y GnuTLS. La lista completa de cifrados NSS se encuentra en la entrada NSSCipherSuite en esta URL: https://pagure.io/mod_nss#Directives.

Si esta opción se usa varias veces, la última anulará a las demás.

--comprimido

(HTTP) Solicite una respuesta comprimida utilizando uno de los algoritmos que admite curl y devuelva el documento sin comprimir. Si se utiliza esta opción y el servidor envía una codificación no compatible, Curl informará un error.

--connect-timeout <segundos>

Tiempo máximo en segundos que puede tomar la conexión al servidor. Esto solo limita la fase de conexión; una vez que curl se ha conectado, esta opción ya no se aplica. Desde 7.32.0, esta opción acepta valores decimales, pero el tiempo de espera real disminuirá en precisión a medida que el tiempo de espera especificado aumente en precisión decimal. Vea también la opción -m / - max-time.

Si esta opción se usa varias veces, se usará la última.

-c, --cookie-jar <nombre de archivo>

(HTTP) Especifique en qué archivo desea que curl escriba todas las cookies después de una operación completada. Curl escribe todas las cookies leídas previamente de un archivo especificado, así como todas las cookies recibidas de servidores remotos. Si no se conocen cookies, no se escribirá ningún archivo. El archivo se escribirá utilizando el formato de archivo de cookies Netscape. Si configura el nombre del archivo en un solo guión ("-"), las cookies se escribirán en stdout.

Esta opción de línea de comando activará el motor de cookies que hace que curl registre y use cookies. Otra forma de activarlo es usar la opción de cookie -b / -.

NOTA: Si no se puede crear o escribir en el contenedor de cookies, toda la operación de curl no fallará o incluso informará un error. Si se especifica -v, se mostrará una advertencia, pero ese es el único comentario visible que recibe sobre esta situación posiblemente fatal.

Si esta opción se usa varias veces, se usará el último nombre de archivo especificado.

-C, --continue-at <offset>

Continuar / Reanudar una transferencia de archivo anterior en el desplazamiento dado. El desplazamiento dado es el número exacto de bytes que se omitirán, contados desde el comienzo del archivo de origen antes de que se transfiera al destino. Si se usa con cargas, curl no usará el comando del servidor ftp SIZE.

Use "-C -" para indicarle a curl que descubra automáticamente dónde / cómo reanudar la transferencia. Luego usa los archivos de salida / entrada dados para resolver eso.

Si esta opción se usa varias veces, se usará la última.

--create-dirs

Cuando se usa junto con la opción -o, curl crea la jerarquía de directorio local necesaria según sea necesario. Esta opción crea los directorios mencionados con la opción -o, nada más. Si el nombre del archivo -o no usa ningún directorio o si los directorios que menciona ya existen, no se crearán directorios.

Para crear directorios remotos cuando se utiliza FTP o SFTP, intente --ftp-create-dirs.

--crlf

(FTP) Convierte LF a CRLF en carga. Útil para MVS (OS / 390).

--crlfile <archivo>

(HTTPS / FTPS) Proporcione un archivo con formato PEM con una Lista de revocación de certificados que pueda especificar certificados pares que se considerarán revocados.

Si esta opción se usa varias veces, se usará la última.

(Agregado en 7.19.7)

-d, --data <data>

(HTTP) Envía los datos especificados en una solicitud POST al servidor HTTP, de manera que se puede emular como si un usuario hubiera completado un formulario HTML y hubiera presionado el botón Enviar. Tenga en cuenta que los datos se envían exactamente como se especifica sin procesamiento adicional (con todas las líneas nuevas cortadas). Se espera que los datos estén "codificados en url". Esto hará que curl pase los datos al servidor utilizando la aplicación de tipo de contenido / x-www-form-urlencoded. Compare con el formulario -F / -. Si esta opción se usa más de una vez en la misma línea de comando, las piezas de datos especificadas se fusionarán con un carácter "&" separador. Por lo tanto, el uso de '-d name = daniel -d skill = lousy' generaría un fragmento POST que se parece a 'name = daniel & skill = lousy'.

Si comienza los datos con el carácter "@", el resto debe ser un nombre de archivo para leer los datos, o "-" (guión) si desea que curl lea los datos de stdin. El contenido del archivo ya debe estar codificado en URL. También se pueden especificar varios archivos. La publicación de datos desde un archivo llamado 'foobar' se haría así con "--data @ foo-bar".

-d / - los datos son los mismos que --data-ascii. Para publicar datos puramente binarios, debería usar la opción --data-binary. Para codificar en URL el valor de un campo de formulario, puede usar --data-urlencode.

Si esta opción se usa varias veces, las que siguen a la primera agregarán datos.

--data-ascii <data>

(HTTP) Este es un alias para la opción de datos -d / -.

Si esta opción se usa varias veces, las que siguen a la primera agregarán datos.

--data-binary <data>

(HTTP) Esto publica los datos exactamente como se especifica sin ningún procesamiento adicional.

Si comienza los datos con el carácter @, el resto debe ser un nombre de archivo. Los datos se publican de manera similar a como lo hace --data-ascii, excepto que las nuevas líneas se conservan y las conversiones nunca se realizan.

Si esta opción se usa varias veces, las que siguen a la primera agregarán datos como se describe en -d, --data.

--data-urlencode <data>

(HTTP) Esto publica datos, de manera similar a las otras opciones de datos, con la excepción de que realiza la codificación de URL. (Agregado en 7.18.0)

Para ser compatible con CGI, la parte <data> debe comenzar con un nombre seguido de un separador y una especificación de contenido. La parte <data> se puede pasar a curl usando una de las siguientes sintaxis:

contenido

Esto hará que curl URL codifique el contenido y lo transmita. Solo tenga cuidado para que el contenido no contenga ningún símbolo = o @, ya que eso hará que la sintaxis coincida con uno de los otros casos a continuación.

= contenido

Esto hará que curl URL codifique el contenido y lo transmita. El símbolo anterior = no está incluido en los datos.

nombre = contenido

Esto hará que curl URL-codifique la parte del contenido y la pase. Tenga en cuenta que se espera que la parte del nombre ya esté codificada en URL.

@nombre del archivo

Esto hará que los datos de carga de rizo del archivo dado (incluidas las nuevas líneas), codifiquen esos datos en URL y los transmitan en la POST.

[email protected]

Esto hará que los datos de carga de rizo del archivo dado (incluidas las nuevas líneas), codifiquen esos datos en URL y los transmitan en la POST. La parte del nombre obtiene un signo igual agregado, lo que da como resultado name = urlencoded-file-content. Tenga en cuenta que se espera que el nombre ya esté codificado en URL.

- NIVEL de delegación

Configure LEVEL para decirle al servidor qué está permitido delegar cuando se trata de credenciales de usuario. Usado con GSS / kerberos.

ninguna

No permita ninguna delegación.

política

Delega si y solo si el indicador OK-AS-DELEGATE está establecido en el ticket de servicio Kerberos, lo cual es una cuestión de política de dominio.

siempre

Permitir incondicionalmente que el servidor delegue.

--digerir

(HTTP) Habilita la autenticación de resumen HTTP. Esta es una autenticación que evita que la contraseña se envíe como texto sin cifrar. Use esto en combinación con la opción de usuario normal -u / - para configurar el nombre de usuario y la contraseña. Vea también --ntlm, --negotiate y --anyauth para opciones relacionadas.

Si esta opción se usa varias veces, las siguientes ocurrencias no hacen ninguna diferencia.

--disable-eprt

(FTP) Indique a curl que desactive el uso de los comandos EPRT y LPRT cuando realice transferencias FTP activas. Normalmente, Curl siempre intentará usar EPRT, luego LPRT antes de usar PORT, pero con esta opción, usará PORT de inmediato. EPRT y LPRT son extensiones del protocolo FTP original, es posible que no funcionen en todos los servidores, pero permiten una mayor funcionalidad de una mejor manera que el comando PORT tradicional.

--eprt se puede usar para habilitar explícitamente EPRT nuevamente y --no-eprt es un alias para --disable-eprt.

Deshabilitar EPRT solo cambia el comportamiento activo. Si desea cambiar al modo pasivo, no debe usar -P, --ftp-port ni forzarlo con --ftp-pasv.

--disable-epsv

(FTP) Indique a curl que desactive el uso del comando EPSV cuando realice transferencias FTP pasivas. Normalmente, Curl siempre intentará usar EPSV antes que PASV, pero con esta opción, no intentará usar EPSV.

--epsv puede usarse para habilitar explícitamente EPSV nuevamente y --no-epsv es un alias para --disable-epsv.

Deshabilitar EPSV solo cambia el comportamiento pasivo. Si desea cambiar al modo activo, debe usar -P, --ftp-port.

-D, --dump-header <archivo>

Escribe los encabezados de protocolo en el archivo especificado.

Esta opción es útil para usar cuando desea almacenar los encabezados que le envía un sitio HTTP. Las cookies de los encabezados podrían leerse en una segunda invocación de rizo utilizando la opción de cookie -b / -. Sin embargo, la opción -c / - cookie-jar es una mejor manera de almacenar cookies.

Cuando se usa en FTP, las líneas de respuesta del servidor ftp se consideran "encabezados" y, por lo tanto, se guardan allí.

Si esta opción se usa varias veces, se usará la última.

-e, --referer <URL>

(HTTP) Envía la información de la "Página de referencia" al servidor HTTP. Esto también se puede configurar con el encabezado -H / -. Cuando se usa con la ubicación -L / -, puede agregar "; auto" a la URL de referencia para hacer que curl establezca automáticamente la URL anterior cuando sigue una ubicación: encabezado. La cadena "; auto" se puede usar sola, incluso si no establece un referente inicial.

Si esta opción se usa varias veces, se usará la última.

--engine <nombre>

Seleccione el motor de cifrado OpenSSL para usar en operaciones de cifrado. Use --engine list para imprimir una lista de motores soportados en tiempo de construcción. Tenga en cuenta que no todos (o ninguno) de los motores pueden estar disponibles en tiempo de ejecución.

--medio ambiente

(SÓLO RISC OS) Establece un rango de variables de entorno, utilizando los nombres que admite la opción -w, para permitir más fácilmente la extracción de información útil después de ejecutar curl.

--egd-file <archivo>

(HTTPS) Especifique el nombre de ruta al socket de Entropy Gathering Daemon. El socket se usa para inicializar el motor aleatorio para conexiones SSL. Vea también la opción --random-file.

-E, --cert <certificado [: contraseña]>

(SSL) Le dice a curl que use el archivo de certificado de cliente especificado al obtener un archivo con HTTPS, FTPS u otro protocolo basado en SSL. El certificado debe estar en formato PEM. Si no se especifica la contraseña opcional, se consultará en el terminal. Tenga en cuenta que esta opción supone un archivo de "certificado" que es la clave privada y el certificado privado concatenado. Consulte --cert y --key para especificarlos de forma independiente. Si curl se construye contra la biblioteca NSS SSL, esta opción puede indicarle a curl el apodo del certificado que se utilizará en la base de datos NSS definida por la variable de entorno SSL_DIR (o por defecto / etc / pki / nssdb). Si el módulo NSS PEM PKCS # 11 (libnsspem.so) está disponible, se pueden cargar los archivos PEM. Si desea utilizar un archivo del directorio actual, preceda con el prefijo "./" para evitar confusiones con un apodo. Si el apodo contiene ":", debe ir precedido de "" para que no se reconozca como delimitador de contraseña. Si el apodo contiene "", debe escaparse como "\" para que no se reconozca como un carácter de escape. (Solo iOS y Mac OS X) Si curl está construido contra el transporte seguro, entonces la cadena del certificado debe coincidir con el nombre de un certificado que está en el sistema o en el llavero del usuario. La clave privada correspondiente al certificado y la cadena de certificados (si corresponde) también deben estar presentes en el llavero. Si esta opción se usa varias veces, se usará la última.

--cert-type <tipo>

(SSL) Indica a curl el tipo de tipo de certificado del certificado proporcionado. PEM, DER y ENG son tipos reconocidos. Si no se especifica, se supone PEM.

Si esta opción se usa varias veces, se usará la última.

--cert <certificado de CA>

(SSL) Le dice a curl que use el archivo de certificado especificado para verificar el par. El archivo puede contener múltiples certificados de CA. Los certificados deben estar en formato PEM. Normalmente, curl se crea para usar un archivo predeterminado para esto, por lo que esta opción se usa para alterar ese archivo predeterminado.

curl reconoce la variable de entorno llamada 'CURL_CA_BUNDLE' si está configurada, y usa la ruta dada como ruta a un paquete de certificados de CA. Esta opción anula esa variable.

La versión de Windows de curl buscará automáticamente un archivo de certificaciones de CA llamado 'curl-ca-bundle.crt', ya sea en el mismo directorio que curl.exe, o en el directorio de trabajo actual, o en cualquier carpeta a lo largo de su RUTA.

Si curl se construye contra la biblioteca NSS SSL, el módulo NSS PEM PKCS # 11 (libnsspem.so) debe estar disponible para que esta opción funcione correctamente.

Si esta opción se usa varias veces, se usará la última.

--capath <directorio del certificado de CA>

(SSL) Le dice a curl que use el directorio de certificados especificado para verificar el par. Los certificados deben estar en formato PEM y el directorio debe haberse procesado con la utilidad c_rehash suministrada con openssl. El uso de --capath puede permitir que curl haga conexiones https mucho más eficientemente que el uso de --cacert si el archivo --cacert contiene muchos certificados de CA.

Si esta opción se usa varias veces, se usará la última.

-f, --fail

(HTTP) Falla silenciosa (sin salida en absoluto) en los errores del servidor. Esto se hace principalmente para habilitar mejor las secuencias de comandos, etc. para tratar mejor los intentos fallidos. En casos normales, cuando un servidor HTTP no puede entregar un documento, devuelve un documento HTML que lo indica (que a menudo también describe por qué). Esta bandera evitará que curl produzca eso y devolverá el error 22.

Este método no es a prueba de fallas y hay ocasiones en las que los códigos de respuesta no exitosos se deslizarán, especialmente cuando se trata de autenticación (códigos de respuesta 401 y 407).

--ftp-account [datos]

(FTP) Cuando un servidor FTP solicita "datos de cuenta" después de proporcionar el nombre de usuario y la contraseña, estos datos se envían mediante el comando ACCT. (Agregado en 7.13.0)

Si esta opción se usa dos veces, la segunda anulará el uso anterior.

--ftp-create-dirs

(FTP / SFTP) Cuando una operación / URL FTP utiliza una ruta que actualmente no existe en el servidor, el comportamiento estándar de curl es fallar. Con esta opción, curl intentará crear directorios faltantes.

--ftp-method [método]

(FTP) Controle qué método debe usar curl para alcanzar un archivo en un servidor FTP (S). El argumento del método debería ser una de las siguientes alternativas:

multicwd

curl realiza una sola operación CWD para cada parte de ruta en la URL dada. Para jerarquías profundas, esto significa muchos comandos. Este es el comportamiento predeterminado pero el más lento.

nocwd

curl no tiene CWD en absoluto. curl hará SIZE, RETR, STOR, etc. y dará una ruta completa al servidor para todos estos comandos. Este es el comportamiento más rápido.

singlecwd

curl hace una CWD con el directorio de destino completo y luego opera en el archivo "normalmente" (como en el caso multicwd). Esto es algo más compatible con los estándares que 'nocwd' pero sin la penalización total de 'multicwd'.

--ftp-pasv

(FTP) Use PASV cuando transfiera. PASV es el comportamiento predeterminado interno, pero el uso de esta opción se puede usar para anular una opción anterior --ftp-port. (Agregado en 7.11.0)

Si esta opción se usa varias veces, las siguientes ocurrencias no hacen ninguna diferencia. Deshacer un pasivo forzado realmente no es factible, pero luego debe aplicar el puerto -P, --ftp-port correcto nuevamente.

El modo pasivo significa que curl probará primero el comando EPSV y luego PASV, a menos que se use --disable-epsv.

--ftp-alternative-to-user <comando>

(FTP) Si falla la autenticación con los comandos USER y PASS, envíe este comando. Al conectarse al servidor de transporte seguro de Tumbleweed a través de FTPS utilizando un certificado de cliente, el uso de "AUTORIZACIÓN DEL SITIO" le indicará al servidor que recupere el nombre de usuario del certificado. (Agregado en 7.15.5)

--ftp-skip-pasv-ip

(FTP) Dígale a curl que no use la dirección IP que sugiere el servidor en su respuesta al comando PASV de curl cuando curl conecta la conexión de datos. En cambio, curl reutilizará la misma dirección IP que ya usa para la conexión de control. (Agregado en 7.14.2)

Esta opción no tiene efecto si se usa PORT, EPRT o EPSV en lugar de PASV.

--ftp-pret

(FTP) Dile a curl que envíe un comando PRET antes de PASV (y EPSV). Ciertos servidores FTP, principalmente drftpd, requieren este comando no estándar para listados de directorios, así como para descargas y descargas en modo PASV. (Agregado en 7.20.x)

--ftp-ssl

(FTP) Intente utilizar SSL / TLS para la conexión FTP. Revierte a una conexión no segura si el servidor no es compatible con SSL / TLS. (Agregado en 7.11.0)

Si esta opción se usa dos veces, la segunda volverá a deshabilitarla.

--ftp-ssl-ccc

(FTP) Use CCC (Clear Command Channel) Cierra la capa SSL / TLS después de la autenticación. El resto de la comunicación del canal de control estará sin cifrar. Esto permite que los enrutadores NAT sigan la transacción FTP. El modo predeterminado es pasivo. Ver --ftp-ssl-ccc-mode para otros modos. (Agregado en 7.16.1)

--ftp-ssl-ccc-mode [activo / pasivo]

(FTP) Use CCC (Clear Command Channel) Establece el modo CCC. El modo pasivo no iniciará el apagado, sino que esperará a que el servidor lo haga y no responderá al apagado del servidor. El modo activo inicia el apagado y espera una respuesta del servidor. (Agregado en 7.16.2)

--ftp-ssl-control

(FTP) Requerir SSL / TLS para el inicio de sesión FTP, borrar para la transferencia. Permite autenticación segura, pero transferencias de datos no encriptadas para mayor eficiencia. La transferencia falla si el servidor no es compatible con SSL / TLS. (Agregado en 7.16.0)

--ftp-ssl-reqd

(FTP) Requiere SSL / TLS para la conexión FTP. Termina la conexión si el servidor no es compatible con SSL / TLS. (Agregado en 7.15.5)

Si esta opción se usa dos veces, la segunda volverá a deshabilitarla.

-F, --form <nombre = contenido>

(HTTP) Esto permite que el rizo emule un formulario completado en el que un usuario ha presionado el botón de enviar. Esto hace que los datos POST se doblen utilizando el multiparte / tipo de contenido de datos de acuerdo con RFC1867. Esto permite cargar archivos binarios, etc. Para forzar que la parte 'contenido' sea un archivo, prefije el nombre del archivo con un carácter "@". Para obtener el contenido de un archivo, prefije el nombre del archivo con la letra "<". La diferencia entre "@" y "<" es que @ hace que un archivo se adjunte a la publicación como una carga de archivo, mientras que <crea un campo de texto y obtiene el contenido de ese campo de un archivo.

Por ejemplo, para enviar su archivo de contraseña al servidor, donde 'contraseña' es el nombre del campo de formulario al que / etc / passwd será la entrada:

curl -F [correo electrónico protegido] / etc / passwd www.mypasswords.com

Para leer el contenido del archivo desde stdin en lugar de un archivo, use "-" donde debería haber estado el nombre del archivo. Esto va para las construcciones @ y <.

También puede decirle a curl qué tipo de contenido usar usando 'Tipo =', de manera similar a:

curl -F "[correo electrónico protegido]; Tipo = texto / html" url.com

or

curl -F "nombre = daniel; Tipo = texto / foo" url.com

También puede cambiar explícitamente el campo de nombre de una parte de carga de archivos estableciendo filename =, de esta manera:

curl -F "[correo electrónico protegido]; filename = nameinpost" url.com

Si el nombre de archivo / ruta contiene ',' o ';', debe estar entre comillas dobles, por ejemplo:

curl -F "[correo electrónico protegido] " localfile "; filename = " nameinpost "" url.com

or

curl -F '[correo electrónico protegido] "localfile"; filename = "nameinpost"' url.com

Tenga en cuenta que si un nombre de archivo / ruta se cita entre comillas dobles, cualquier comilla doble o barra diagonal inversa en el nombre de archivo debe escapar mediante una barra diagonal inversa.

Esta opción se puede usar varias veces.

--form-string <nombre = cadena>

(HTTP) Similar a --form excepto que la cadena de valor para el parámetro nombrado se usa literalmente. Los caracteres principales '@' y '<', y la cadena '; Type =' en el valor no tienen un significado especial. Use esto con preferencia para --form si existe alguna posibilidad de que el valor de cadena pueda activar accidentalmente las características '@' o '<' de --form.

-g, --globoff

Esta opción desactiva el "analizador global de URL". Cuando configura esta opción, puede especificar URL que contengan las letras {} [] sin que sean interpretadas por curl. Tenga en cuenta que estas letras no son contenidos normales de URL legales, pero deben codificarse de acuerdo con el estándar URI.

-G, --get

Cuando se usa, esta opción hará que todos los datos especificados con -d / - data o --data-binary se utilicen en una solicitud HTTP GET en lugar de la solicitud POST que de otro modo se usaría. Los datos se agregarán a la URL con un '?' separador.

Si se usa en combinación con -I, los datos POST se agregarán a la URL con una solicitud HEAD.

Si esta opción se usa varias veces, solo se usa la primera. Esto se debe a que deshacer un GET no tiene sentido, sino que debe aplicar el método alternativo que prefiera.

-H, --header <header>

(HTTP) Encabezado adicional para usar al obtener una página web. Puede especificar cualquier número de encabezados adicionales. Tenga en cuenta que si debe agregar un encabezado personalizado que tenga el mismo nombre que uno de los internos que usaría curl, se usará el encabezado establecido externamente en lugar del interno. Esto le permite hacer cosas aún más difíciles de lo que normalmente haría curl. No debe reemplazar los encabezados establecidos internamente sin saber perfectamente lo que está haciendo. Elimine un encabezado interno dando un reemplazo sin contenido en el lado derecho del colon, como en: -H "Host:". Si envía el encabezado personalizado sin valor, entonces su encabezado debe terminarse con un punto y coma, como -H "X-Custom-Header;" para enviar "X-Custom-Header:".

curl se asegurará de que cada encabezado que agregue / reemplace se envíe con el marcador de final de línea adecuado, por lo tanto, no debe agregarlo como parte del contenido del encabezado: no agregue nuevas líneas o retornos de carro, solo lo estropearán. .

Consulte también las opciones -A / - user-agent y -e / - referer options.

Esta opción se puede usar varias veces para agregar / reemplazar / eliminar múltiples encabezados.

--hostpubmd5 <md5>

(SCP / SFTP) Pase una cadena que contenga 32 dígitos hexadecimales. La cadena debe ser la suma de comprobación MD128 de 5 bits de la clave pública del host remoto, curl rechazará la conexión con el host a menos que los md5sums coincidan. (Agregado en 7.17.1)

--ignore-content-length

(HTTP) Ignora el encabezado Content-Length. Esto es particularmente útil para los servidores que ejecutan Apache 1.x, que informará una longitud de contenido incorrecta para archivos de más de 2 gigabytes.

-Incluyo

(HTTP) Incluya el encabezado HTTP en la salida. El encabezado HTTP incluye cosas como el nombre del servidor, la fecha del documento, la versión HTTP y más.

--interfaz <nombre>

Realizar una operación utilizando una interfaz especificada. Puede ingresar el nombre de la interfaz, la dirección IP o el nombre de host. Un ejemplo podría verse así:

rizo - interfaz eth0: 1 http://www.netscape.com/

Si esta opción se usa varias veces, se usará la última.

-Me dirijo

(HTTP / FTP / FILE) Obtenga solo el encabezado HTTP. Los servidores HTTP presentan el comando HEAD que esto usa para obtener nada más que el encabezado de un documento. Cuando se usa en un archivo FTP o FILE, curl muestra el tamaño del archivo y la hora de la última modificación solamente.

-j, --junk-session-cookies

(HTTP) Cuando se le dice a curl que lea las cookies de un archivo determinado, esta opción hará que descarte todas las "cookies de sesión". Básicamente, esto tendrá el mismo efecto que si se iniciara una nueva sesión. Los navegadores típicos siempre descartan las cookies de sesión cuando se cierran.

-J, - nombre-encabezado-remoto

(HTTP) Esta opción le dice a la opción -O, --remote-name que use el nombre de archivo Content-Disposition especificado por el servidor en lugar de extraer un nombre de archivo de la URL.

-k, --seguro

(SSL) Esta opción permite explícitamente que curl realice conexiones y transferencias SSL "inseguras". Se intenta garantizar la seguridad de todas las conexiones SSL mediante el paquete de certificados de CA instalado de forma predeterminada. Todas las conexiones consideradas "inseguras" fallarán a menos que se use -k / - inseguro.

Consulte este recurso en línea para obtener más información: https://curl.haxx.se/docs/sslcerts.html.

--key <key>

(SSL / SSH) Nombre de archivo de clave privada. Le permite proporcionar su clave privada en este archivo separado.

Si esta opción se usa varias veces, se usará la última.

--key-type <tipo>

(SSL) Tipo de archivo de clave privada. Especifique qué tipo es su clave privada proporcionada por la clave. DER, PEM y ENG son compatibles. Si no se especifica, se supone PEM.

Si esta opción se usa varias veces, se usará la última.

--krb <nivel>

(FTP) Habilite la autenticación y el uso de Kerberos. El nivel debe ingresarse y debe ser uno de 'claro', 'seguro', 'confidencial' o 'privado'. Si utiliza un nivel que no es uno de estos, se utilizará 'privado'.

Esta opción requiere una biblioteca construida con soporte de kerberos4 o GSSAPI (GSS-Negotiate). Esto no es muy común. Use -V, --version para ver si su rizo lo admite.

Si esta opción se usa varias veces, se usará la última.

-K, --config <archivo de configuración>

Especifique qué archivo de configuración leer los argumentos curl. El archivo de configuración es un archivo de texto en el que se pueden escribir argumentos de línea de comando que luego se utilizarán como si estuvieran escritos en la línea de comando real. Las opciones y sus parámetros deben especificarse en la misma línea del archivo de configuración. Si el parámetro debe contener espacios en blanco, el parámetro debe estar entre comillas. Si la primera columna de una línea de configuración es un carácter '#', el resto de la línea se tratará como un comentario. Solo escriba una opción por línea física en el archivo de configuración.

Especifique el nombre del archivo como '-' para hacer que curl lea el archivo desde stdin.

Tenga en cuenta que para poder especificar una URL en el archivo de configuración, debe especificarla utilizando la opción --url, y no escribiendo la URL en su propia línea. Entonces, podría ser similar a esto:

url = "https://curl.haxx.se/docs/"

Opcionalmente, se pueden dar nombres largos de opciones en el archivo de configuración sin los dobles guiones iniciales.

Cuando se invoca curl, siempre (a menos que se use -q) busca un archivo de configuración predeterminado y lo usa si se encuentra. El archivo de configuración predeterminado se verifica en los siguientes lugares en este orden:

1) curl intenta encontrar el "directorio de inicio": primero comprueba el CURL_HOME y luego las variables de entorno HOME. De lo contrario, usa getpwuid () en sistemas similares a Unix (que devuelve el directorio de inicio dado al usuario actual en su sistema). En Windows, comprueba la variable APPDATA o, como último recurso, el '% USER-PROFILE% Application Data'.

2) En Windows, si no hay un archivo _curlrc en el directorio de inicio, busca uno en el mismo directorio en el que se coloca el rizo ejecutable. En sistemas similares a Unix, intentará cargar .curlrc desde el directorio de inicio determinado.

Esta opción se puede usar varias veces para cargar múltiples archivos de configuración.

--keepalive-time <segundos>

Esta opción establece el tiempo que necesita una conexión para permanecer inactiva antes de enviar sondas keepalive y el tiempo entre sondas keepalive individuales. Actualmente es efectivo en los sistemas operativos que ofrecen las opciones de socket TCP_KEEPIDLE y TCP_KEEPINTVL (es decir, Linux, AIX reciente, HP-UX y más). Esta opción no tiene efecto si se usa --no-keepalive. (Agregado en 7.18.0)

Si esta opción se usa varias veces, se usará la última. Si no se especifica, la opción predeterminada es 60 segundos.

--limit-rate <velocidad>

Especifique la velocidad de transferencia máxima que desea que use el rizo. Esta característica es útil si tiene una tubería limitada y desea que su transferencia no use todo su ancho de banda.

La velocidad dada se mide en bytes / segundo, a menos que se agregue un sufijo. Agregar 'k' o 'K' contará el número como kilobytes, 'm' o 'M' lo hace megabytes mientras que 'g' o 'G' lo hacen gigabytes. Ejemplos: 200K, 3m y 1G.

La tasa dada es la velocidad promedio contada durante toda la transferencia. Significa que el rizo puede usar velocidades de transferencia más altas en ráfagas cortas, pero con el tiempo no usa más que la velocidad dada.

Si también está utilizando la opción de límite de velocidad -Y / -, esa opción tiene prioridad y puede paralizar un poco la limitación de velocidad, para ayudar a mantener funcionando la lógica del límite de velocidad.

Si esta opción se usa varias veces, se usará la última.

-l / - solo lista

(FTP) Al enumerar un directorio FTP, este modificador fuerza una vista de solo nombre. Especialmente útil si desea analizar en máquina los contenidos de un directorio FTP ya que la vista de directorio normal no utiliza un aspecto o formato estándar.

Esta opción hace que se envíe un comando NLST FTP. Algunos servidores FTP solo enumeran archivos en su respuesta a NLST; no incluyen subdirectorios y enlaces simbólicos.

--local-port <num> [-num]

Establezca un número o rango preferido de números de puerto local para usar para las conexiones. Tenga en cuenta que los números de puerto por naturaleza son un recurso escaso que estará ocupado a veces, por lo que establecer este rango en algo demasiado estrecho puede causar fallas innecesarias en la configuración de la conexión. (Agregado en 7.15.2)

-L, --ubicación

(HTTP / HTTPS) Si el servidor informa que la página solicitada se ha movido a una ubicación diferente (indicada con una Ubicación: encabezado y un código de respuesta 3XX), esta opción hará que curl vuelva a hacer la solicitud en el nuevo lugar. Si se usa junto con -i / - include o -I / - head, se mostrarán los encabezados de todas las páginas solicitadas. Cuando se utiliza la autenticación, curl solo envía sus credenciales al host inicial. Si una redirección se curva a un host diferente, no podrá interceptar el usuario + contraseña. Vea también --location-Trusted sobre cómo cambiar esto. Puede limitar la cantidad de redireccionamientos a seguir utilizando la opción --max-redirs.

Cuando curl sigue una redirección y la solicitud no es un GET simple (por ejemplo, POST o PUT), realizará la siguiente solicitud con un GET si la respuesta HTTP fue 301, 302 o 303. Si el código de respuesta fue cualquier otro 3xx código, curl reenviará la siguiente solicitud utilizando el mismo método no modificado.

--libcurl <archivo>

¡Agregue esta opción a cualquier línea de comando curl ordinaria, y recibirá como código fuente C de salida que usa libcurl, escrito en el archivo que hace el equivalente de lo que hace su operación de línea de comando! Cabe señalar que esta opción es extremadamente increíble.

Si esta opción se usa varias veces, se usará el último nombre de archivo dado. (Agregado en 7.16.1)

- ubicación-confiable

(HTTP / HTTPS) Similar a la ubicación -L / -, pero permitirá enviar el nombre + contraseña a todos los hosts a los que el sitio puede redirigir. Esto puede o no introducir una violación de seguridad si el sitio lo redirige a un sitio al que enviará su información de autenticación (que es texto sin formato en el caso de la autenticación HTTP básica).

--max-filesize <bytes>

Especifique el tamaño máximo (en bytes) de un archivo para descargar. Si el archivo solicitado es mayor que este valor, la transferencia no comenzará y el rizo regresará con el código de salida 63.

NOTA: El tamaño del archivo no siempre se conoce antes de la descarga, y para dichos archivos esta opción no tiene efecto incluso si la transferencia de archivos termina siendo mayor que este límite dado. Esto se refiere tanto a las transferencias FTP como a las HTTP.

-m, --max-time <segundos>

Tiempo máximo en segundos que permite que tome toda la operación. Esto es útil para evitar que sus trabajos por lotes se cuelguen durante horas debido a redes o enlaces lentos que se caen. Vea también la opción --connect-timeout.

Si esta opción se usa varias veces, se usará la última.

--mail-auth <dirección>

(SMTP) Especifique una sola dirección. Esto se usará para especificar la dirección de autenticación (identidad) de un mensaje enviado que se está transmitiendo a otro servidor.

(Agregado en 7.25.0)

--mail-from <dirección>

(SMTP) Especifique una dirección única desde la que se debe enviar el correo proporcionado.

(Agregado en 7.20.0)

--mail-rcpt <dirección>

(SMTP) Especifique una dirección única a la que debe enviarse el correo proporcionado. Esta opción se puede usar varias veces para especificar muchos destinatarios.

(Agregado en 7.20.0)

--enlace de metal

Esta opción puede indicarle a curl que analice y procese un URI dado como archivo Metalink (se admiten las versiones 3 y 4 (RFC 5854)) y haga uso de los espejos enumerados para la conmutación por error si hay errores (como el archivo o el servidor no estar disponible). También verificará el hash del archivo una vez que se complete la descarga. El archivo Metalink en sí mismo se descarga y procesa en la memoria y no se almacena en el sistema de archivos local.

Ejemplo para usar un archivo Metalink remoto:

curl --metalink http://www.example.com/example.metalink

Para usar un archivo Metalink en el sistema de archivos local, use el protocolo FILE (archivo: //):

curl --metalink file: //example.metalink

Tenga en cuenta que si el protocolo FILE está deshabilitado, no hay forma de usar un archivo Metalink local en el momento de escribir esto. Además, tenga en cuenta que si --metalink y --include se usan juntos, --include será ignorado. Esto se debe a que incluir encabezados en la respuesta interrumpirá el analizador Metalink y si los encabezados se incluyen en el archivo descrito en el archivo Metalink, la comprobación de hash fallará.

(Agregado en 7.27.0, si se compila contra la biblioteca libmetalink).

-n, --netrc

Hace que curl escanee el archivo .netrc en el directorio de inicio del usuario en busca de nombre de usuario y contraseña. Esto se usa para ftp en unix. Si se usa con http, curl habilitará la autenticación de usuario. Consulte la documentación de netrc (4) o ftp para obtener detalles sobre el formato de archivo. Curl no se quejará si ese archivo no tiene los permisos correctos (no debe ser legible por el mundo ni por el grupo). La variable de entorno "INICIO" se utiliza para encontrar el directorio de inicio.

Un ejemplo rápido y muy simple de cómo configurar un .netrc para permitir que curl ftp a la máquina host.domain.com con el nombre de usuario 'yo mismo' y la contraseña 'secreto' debería ser similar a:

máquina host.domain.com iniciar sesión yo mismo contraseña secreto

Si esta opción se usa dos veces, la segunda volverá a deshabilitar el uso de netrc.

--negociar

(HTTP) Habilita la autenticación GSS-Negotiate. El método GSS-Negotiate fue diseñado por Microsoft y se utiliza en sus aplicaciones web. Se entiende principalmente como un soporte para la autenticación Kerberos5, pero también se puede usar junto con otros métodos de autenticación.

Esta opción requiere que la biblioteca curl se haya creado con soporte GSSAPI. Esto no es muy común. Use la versión -V / - para ver si su versión es compatible con GSS-Negotiate.

Al usar esta opción, también debe proporcionar una opción de usuario falsa -u / - para activar el código de autenticación correctamente. Enviar un '-u:' es suficiente ya que el nombre de usuario y la contraseña de la opción -u no se usan realmente.

Si esta opción se usa varias veces, las siguientes ocurrencias no hacen ninguna diferencia.

--no-keepalive

Deshabilita el uso de mensajes keepalive en la conexión TCP, ya que por defecto curl los habilita.

Tenga en cuenta que este es el nombre de opción negado documentado. Por lo tanto, puede usar --keepalive para aplicar keepalive.

--no-sessionid

(SSL) Desactiva el uso de curl del almacenamiento en caché de ID de sesión SSL. Por defecto, todas las transferencias se realizan utilizando el caché. Tenga en cuenta que, si bien nada debería salir perjudicado al intentar reutilizar las ID de sesión SSL, parece que hay implementaciones SSL rotas en la naturaleza que pueden requerir que desactive esto para que tenga éxito. (Agregado en 7.16.0)

Tenga en cuenta que este es el nombre de opción negado documentado. Por lo tanto, puede usar --sessionid para aplicar el almacenamiento en caché de ID de sesión.

--noproxy <no-proxy-list>

Lista de hosts separados por comas que no usan un proxy, si se especifica uno. El único comodín es un solo carácter *, que coincide con todos los hosts, y deshabilita efectivamente el proxy. Cada nombre en esta lista coincide con un dominio que contiene el nombre de host o el nombre de host en sí. Por ejemplo, local.com coincidiría con local.com, local.com:80 y www.local.com, pero no con www.notlocal.com. (Agregado en 7.19.4).

-N, --no-buffer

Inhabilita el almacenamiento en búfer de la secuencia de salida. En situaciones de trabajo normales, curl utilizará una secuencia de salida estándar con búfer que tiene el efecto de generar los datos en fragmentos, no necesariamente exactamente cuando llegan los datos. El uso de esta opción deshabilitará ese almacenamiento en búfer.

Tenga en cuenta que este es el nombre de opción negado documentado. Por lo tanto, puede usar --buffer para aplicar el almacenamiento en búfer.

--netrc-file

Esta opción es similar a --netrc, excepto que proporciona la ruta (absoluta o relativa) al archivo netrc que curl debe usar. Solo puede especificar un archivo netrc por invocación. Si se proporcionan varias opciones de --netrc-file, solo se usará la última. (Agregado en 7.21.5)

Esta opción anula cualquier uso de --netrc ya que son mutuamente excluyentes. También cumplirá con --netrc-optional si se especifica.

--netrc-opcional

Muy similar a --netrc, pero esta opción hace que el uso de .netrc sea opcional y no obligatorio como lo hace la opción --netrc.

--ntlm

(HTTP) Habilita la autenticación NTLM. El método de autenticación NTLM fue diseñado por Microsoft y lo utilizan los servidores web IIS. Es un protocolo patentado, diseñado de forma inversa por personas inteligentes e implementado en curl en función de sus esfuerzos. Este tipo de comportamiento no debe ser aprobado, debe alentar a todos los que usan NTLM a cambiar a un método de autenticación público y documentado, como Digest.

Si desea habilitar NTLM para su autenticación de proxy, use --proxy-ntlm.

Esta opción requiere una biblioteca construida con soporte SSL. Use -V, --version para ver si su curl es compatible con NTLM.

Si esta opción se usa varias veces, solo se usa la primera.

-o, --output <archivo>

Escriba la salida en <archivo> en lugar de stdout. Si está utilizando {} o [] para recuperar varios documentos, puede usar '#' seguido de un número en el especificador <file>. Esa variable se reemplazará con la cadena actual de la URL que se va a buscar. Como en:

curl http: // {one, two} .site.com -o "file_ # 1.txt"

o use varias variables como:

curl http: // {sitio, host} .host [1-5] .com -o "# 1_ # 2"

Puede usar esta opción tantas veces como tenga varias URL.

Consulte también la opción --create-dirs para crear dinámicamente los directorios locales. Si especifica la salida como '-' (un solo guión), la salida se realizará en stdout.

-O, - nombre-remoto

Escriba la salida en un archivo local llamado como el archivo remoto que obtenemos. (Solo se utiliza la parte del archivo remoto, la ruta se corta).

El nombre de archivo remoto que se usará para guardar se extrae de la URL dada, nada más.

Consecuentemente, el archivo se guardará en el directorio de trabajo actual. Si desea que el archivo se guarde en un directorio diferente, asegúrese de cambiar el directorio de trabajo actual antes de invocar curl con el indicador -O, --remote-name.

Puede usar esta opción tantas veces como tenga varias URL.

--pass <frase>

(SSL / SSH) Frase de paso para la clave privada.

Si esta opción se usa varias veces, se usará la última.

--post301

(HTTP) Le dice a curl que respete RFC 2616 / 10.3.2 y que no convierta solicitudes POST en solicitudes GET cuando se sigue una redirección 301. El comportamiento no RFC es omnipresente en los navegadores web, por lo que curl realiza la conversión de forma predeterminada para mantener la coherencia. Sin embargo, un servidor puede requerir que una POST siga siendo una POST después de dicha redirección. Esta opción solo tiene sentido cuando se usa -L, --location (Agregado en 7.17.1)

--post302

(HTTP) Le dice a curl que respete RFC 2616 / 10.3.2 y que no convierta solicitudes POST en solicitudes GET cuando se sigue una redirección 302. El comportamiento no RFC es omnipresente en los navegadores web, por lo que curl realiza la conversión de forma predeterminada para mantener la coherencia. Sin embargo, un servidor puede requerir que una POST siga siendo una POST después de dicha redirección. Esta opción solo tiene sentido cuando se usa -L, --location (Agregado en 7.19.1)

--post303

(HTTP) Le dice a curl que respete RFC 2616 / 10.3.2 y que no convierta solicitudes POST en solicitudes GET cuando se sigue una redirección 303. El comportamiento no RFC es omnipresente en los navegadores web, por lo que curl realiza la conversión de forma predeterminada para mantener la coherencia. Sin embargo, un servidor puede requerir que una POST siga siendo una POST después de dicha redirección. Esta opción solo tiene sentido cuando se usa -L, --location (Agregado en 7.26.0)

--proto <protocols>

Le dice a curl que use los protocolos enumerados para su recuperación inicial. Los protocolos se evalúan de izquierda a derecha, están separados por comas y son cada uno un nombre de protocolo o 'todos', opcionalmente con el prefijo cero o más modificadores. Los modificadores disponibles son:

+

Permita este protocolo además de los protocolos ya permitidos (este es el valor predeterminado si no se utiliza ningún modificador).

-

Niegue este protocolo, eliminándolo de la lista de protocolos ya permitidos.

=

Permita solo este protocolo (ignorando la lista ya permitida), aunque sujeto a modificaciones posteriores por entradas posteriores en la lista separada por comas.

Por ejemplo:

--proto -ftps usa los protocolos predeterminados, pero deshabilita ftps

--proto -todos, https, + http solo habilita http y https

--proto = http, https también solo habilita http y https

Los protocolos desconocidos producen una advertencia. Esto permite que los scripts confíen de forma segura en la posibilidad de deshabilitar protocolos potencialmente peligrosos, sin depender de la compatibilidad con ese protocolo integrado en curl para evitar un error.

Esta opción se puede usar varias veces, en cuyo caso el efecto es el mismo que concatenar los protocolos en una instancia de la opción. (Agregado en 7.20.2)

--proto-redir <protocols>

Le dice a curl que use los protocolos enumerados después de una redirección. Consulte --proto para ver cómo se representan los protocolos. (Agregado en 7.20.2)

--proxy-anyauth

Le dice a curl que elija un método de autenticación adecuado cuando se comunique con el proxy dado. Esto provocará una solicitud / respuesta adicional de ida y vuelta. (Agregado en 7.13.2)

--proxy-básico

Le dice a curl que use la autenticación HTTP básica cuando se comunique con el proxy dado. Use --basic para habilitar HTTP Basic con un host remoto. Básico es el método de autenticación predeterminado que curl usa con proxies.

-proxy-digest

Le dice a curl que use la autenticación HTTP Digest cuando se comunique con el proxy dado. Use --digest para habilitar HTTP Digest con un host remoto.

--proxy-ntlm

Le dice a curl que use la autenticación HTTP NTLM cuando se comunique con el proxy dado. Use --ntlm para habilitar NTLM con un host remoto.

--proxy1.0 <proxyhost [: puerto]>

Use el proxy HTTP 1.0 especificado. Si no se especifica el número de puerto, se asume en el puerto 1080.

La única diferencia entre esto y la opción de proxy HTTP (-x, --proxy) es que los intentos de usar CONNECT a través del proxy especificarán un protocolo HTTP 1.0 en lugar del HTTP 1.1 predeterminado.

--pubkey <key>

(SSH) Nombre de archivo de clave pública. Le permite proporcionar su clave pública en este archivo separado.

Si esta opción se usa varias veces, se usará la última.

-p, --proxytunnel

Cuando se usa un proxy HTTP (-x, --proxy), esta opción hará que los protocolos que no sean HTTP intenten hacer un túnel a través del proxy en lugar de simplemente usarlo para realizar operaciones similares a HTTP. El enfoque de túnel se realiza con la solicitud CONNECT del proxy HTTP y requiere que el proxy permita la conexión directa al número de puerto remoto al que curl quiere hacer un túnel.

-P, --ftp-port <dirección>

(FTP) Invierte los roles de iniciador / escucha predeterminados cuando se conecta con FTP. Este interruptor hace que el rizo use el modo activo. En la práctica, curl le dice al servidor que se conecte nuevamente a la dirección y puerto especificados del cliente, mientras que el modo pasivo le pide al servidor que configure una dirección IP y un puerto para que se conecte. <dirección> debería ser uno de:

interfaz.

es decir, "eth0" para especificar la dirección IP de la interfaz que desea usar (solo Unix)

dirección IP

es decir, "192.168.10.1" para especificar la dirección IP exacta

hostname

es decir, "my.host.domain" para especificar la máquina

-

hacer que curl elija la misma dirección IP que ya se usó para la conexión de control.

Si esta opción se usa varias veces, se usará la última. Deshabilite el uso de PORT con --ftp-pasv. Deshabilite el intento de usar el comando EPRT en lugar de PORT utilizando --disable-eprt. EPRT es realmente PORT ++.

A partir de 7.19.5, puede agregar ": [inicio] - [fin]" a la derecha de la dirección, para indicar a curl qué rango de puertos TCP usar. Eso significa que especifica un rango de puertos, desde un número inferior a uno superior. Un solo número funciona también, pero tenga en cuenta que aumenta el riesgo de falla ya que el puerto puede no estar disponible.

-q

Si se usa como el primer parámetro en la línea de comando, el archivo de configuración curlrc no se leerá ni se usará. Consulte -K, --config para obtener detalles sobre la ruta de búsqueda predeterminada del archivo de configuración.

-Q, --quote <comando>

(FTP / SFTP) Envía un comando arbitrario al servidor FTP o SFTP remoto. Los comandos de cotización se envían ANTES de que se realice la transferencia (después de que el comando PWD inicial sea exacto). Para que los comandos se realicen después de una transferencia exitosa, prefijelos con un guión '-'. Para que los comandos se envíen después de que libcurl haya cambiado el directorio de trabajo, antes de los comandos de transferencia, prefije el comando con '+' (esto solo es compatible con FTP). Puede especificar cualquier cantidad de comandos. Si el servidor devuelve un error para uno de los comandos, se cancelará toda la operación. Debe enviar comandos FTP sintácticamente correctos como RFC959 define a los servidores FTP, o uno de los comandos enumerados a continuación a los servidores SFTP.

Esta opción se puede usar varias veces. Cuando hable con un servidor FTP, prefije el comando con un asterisco (*) para hacer que curl continúe, incluso si el comando falla, ya que por defecto curl se detendrá en el primer fallo.

SFTP es un protocolo binario. A diferencia de FTP, curl interpreta los comandos de cotización SFTP antes de enviarlos al servidor. Los nombres de archivo se pueden citar al estilo de shell para incrustar espacios o caracteres especiales. La siguiente es la lista de todos los comandos de cotización SFTP compatibles:

archivo de grupo chgrp

El comando chgrp establece la ID de grupo del archivo nombrado por el operando del archivo en la ID de grupo especificada por el operando del grupo. El operando del grupo es un ID de grupo entero decimal.

archivo de modo chmod

El comando chmod modifica los bits de modo de archivo del archivo especificado. El operando de modo es un número de modo entero octal.

archivo de usuario chown

El comando chown establece el propietario del archivo nombrado por el operando del archivo en la ID de usuario especificada por el operando del usuario. El operando del usuario es un ID de usuario entero decimal.

En el archivo de origen archivo de destino

Los comandos ln y symlink crean un enlace simbólico en la ubicación del archivo de destino que apunta a la ubicación del archivo de origen.

mkdir nombre_directorio

El comando mkdir crea el directorio nombrado por el operando nombre_directorio.

pwd

El comando pwd devuelve la ruta absoluta del directorio de trabajo actual.

cambiar el nombre del destino de origen

El comando rename cambia el nombre del archivo o directorio nombrado por el operando de origen a la ruta de destino nombrada por el operando de destino.

archivo rm

El comando rm elimina el archivo especificado por el operando del archivo.

directorio rmdir

El comando rmdir elimina la entrada del directorio especificada por el operando del directorio, siempre que esté vacía.

enlace simbólico archivo_origen archivo_destino

Ver ln.

--random-file <archivo>

(SSL) Especifique el nombre de ruta al archivo que contiene lo que se considerará como datos aleatorios. Los datos se utilizan para inicializar el motor aleatorio para conexiones SSL. Vea también la opción --egd-file.

--crudo

(HTTP) Cuando se usa, deshabilita toda la decodificación interna de contenido HTTP o las codificaciones de transferencia y, en su lugar, las transfiere sin modificar, sin procesar. (Agregado en 7.16.2)

--remote-name-all

Esta opción cambia la acción predeterminada para todas las URL dadas que se tratarán como si se usaran -O, --remote-name para cada una. Entonces, si desea deshabilitar eso para una URL específica después de usar --remote-name-all, debe usar "-o -" o --no-remote-name. (Agregado en 7.19.0)

--resolve <host: puerto: dirección>

Proporcione una dirección personalizada para un host específico y un par de puertos. Con esto, puede hacer que las solicitudes curl utilicen una dirección específica y evitar que se use la dirección normalmente resuelta. Considérelo una especie de alternativa / etc / hosts proporcionada en la línea de comando. El número de puerto debe ser el número utilizado para el protocolo específico para el que se utilizará el host. Significa que necesita varias entradas si desea proporcionar una dirección para el mismo host pero diferentes puertos.

Esta opción se puede usar muchas veces para agregar muchos nombres de host para resolver.

(Agregado en 7.21.3)

-r, --range <rango>

(HTTP / FTP) Recupere un rango de bytes (es decir, un documento parcial) de un servidor HTTP / 1.1 o FTP. Los rangos se pueden especificar de varias maneras.

0-499 especifica los primeros 500 bytes;

500-999 especifica los segundos 500 bytes;

-500 especifica los últimos 500 bytes;

9500- especifica los bytes desde el desplazamiento 9500 y hacia adelante;

0-0, -1 especifica el primer y último byte solamente (*) (H);

500-700,600-799 especifica 300 bytes del desplazamiento 500 (H);

100-199,500-599 especifica dos rangos separados de 100 bytes (*) (H).

(*) = ¡NOTA que esto hará que el servidor responda con una respuesta de varias partes!

También debe tener en cuenta que muchos servidores HTTP / 1.1 no tienen esta característica habilitada, de modo que cuando intente obtener un rango, en su lugar obtendrá el documento completo.

Las descargas de rango FTP solo admiten la sintaxis simple 'start-stop' (opcionalmente con uno de los números omitidos). Depende del tamaño del comando no RFC.

Solo los caracteres de dígitos (0-9) son válidos en los campos 'inicio' y 'detención' de la sintaxis de rango 'inicio-detención'. Si se da un carácter sin dígitos en el rango, la respuesta del servidor no se especificará, dependiendo de la configuración del servidor.

Si esta opción se usa varias veces, se usará la última.

-R, - tiempo remoto

Cuando se usa, esto hará que libcurl intente averiguar la marca de tiempo del archivo remoto, y si está disponible, haga que el archivo local obtenga la misma marca de tiempo.

--retry <num>

Si se devuelve un error transitorio cuando curl intenta realizar una transferencia, volverá a intentar este número de veces antes de darse por vencido. Establecer el número en 0 hace que curl no vuelva a intentarlo (que es el valor predeterminado). Error transitorio significa: un tiempo de espera, un código de respuesta FTP 5xx o un código de respuesta HTTP 5xx.

Cuando curl está a punto de reintentar una transferencia, primero esperará un segundo y luego, para todos los reintentos futuros, duplicará el tiempo de espera hasta que llegue a 10 minutos, que será el retraso entre el resto de los reintentos. Al usar --retry-delay deshabilita este algoritmo de retroceso exponencial. Consulte también --retry-max-time para limitar el tiempo total permitido para reintentos. (Agregado en 7.12.3)

Si esta opción se usa varias veces, la última aparición decide la cantidad.

--retry-delay <segundos>

Haga que el rizo duerma esta cantidad de tiempo entre cada reintento cuando una transferencia ha fallado con un error transitorio (cambia el algoritmo de tiempo de retroceso predeterminado entre reintentos). Esta opción solo es interesante si también se usa --retry. Establecer este retraso en cero hará que curl use el tiempo de retroceso predeterminado. (Agregado en 7.12.3)

Si esta opción se usa varias veces, la última aparición decide la cantidad.

--retry-max-time <segundos>

El temporizador de reintento se reinicia antes del primer intento de transferencia. Los reintentos se realizarán como de costumbre (ver --reintentar) siempre que el temporizador no haya alcanzado este límite dado. Tenga en cuenta que si el temporizador no ha alcanzado el límite, se realizará la solicitud y, mientras se realiza, puede llevar más tiempo que este período de tiempo determinado. Para limitar el tiempo máximo de una sola solicitud, use -m, --max-time. Establezca esta opción en cero para que no se agoten los reintentos. (Agregado en 7.12.3)

Si esta opción se usa varias veces, la última aparición decide la cantidad.

-s, --silent

Modo silencioso. No mostrar medidor de progreso o mensajes de error. Hace el rizo mudo. Seguirá enviando los datos que solicite, potencialmente incluso al terminal / stdout a menos que lo redirija.

--sasl-ir

Habilite la respuesta inicial en la autenticación SASL. (Agregado en 7.31.0)

-S, --show-error

Cuando se usa con -s, hace que curl muestre un mensaje de error si falla.

--ssl

(FTP, POP3, IMAP, SMTP) Intente utilizar SSL / TLS para la conexión. Revierte a una conexión no segura si el servidor no es compatible con SSL / TLS. Consulte también --ftp-ssl-control y --ssl-reqd para conocer los diferentes niveles de cifrado necesarios. (Agregado en 7.20.0)

Esta opción se conocía anteriormente como --ftp-ssl (Agregado en 7.11.0). El nombre de esa opción todavía se puede usar, pero se eliminará en una versión futura.

--ssl-reqd

(FTP, POP3, IMAP, SMTP) Requiere SSL / TLS para la conexión. Termina la conexión si el servidor no es compatible con SSL / TLS. (Agregado en 7.20.0)

Esta opción se conocía anteriormente como --ftp-ssl-reqd (agregada en 7.15.5). El nombre de esa opción todavía se puede usar, pero se eliminará en una versión futura.

--ssl-allow-beast

(SSL) Esta opción le dice a curl que no evite una falla de seguridad en los protocolos SSL3 y TLS1.0 conocidos como BEAST. Si no se usa esta opción, la capa SSL puede usar soluciones alternativas que causan problemas de interoperabilidad con algunas implementaciones SSL más antiguas. ADVERTENCIA: esta opción afloja la seguridad SSL, y al usar este indicador, solicita exactamente eso. (Agregado en 7.25.0)

--socks4 <host [: puerto]>

Utiliza el proxy SOCKS4 especificado. Si no se especifica el número de puerto, se asume en el puerto 1080. (Agregado en 7.15.2)

Esta opción anula cualquier uso anterior de -x, --proxy, ya que son mutuamente excluyentes.

Desde 7.21.7, esta opción es superflua ya que puede especificar un proxy socks4 con -x, --proxy usando un prefijo de protocolo socks4: //.

Si esta opción se usa varias veces, se usará la última.

--socks4a <host [: puerto]>

Use el proxy SOCKS4a especificado. Si no se especifica el número de puerto, se asume en el puerto 1080. (Agregado en 7.18.0)

Esta opción anula cualquier uso anterior de -x, --proxy, ya que son mutuamente excluyentes.

Desde 7.21.7, esta opción es superflua ya que puede especificar un proxy socks4a con -x, --proxy usando un prefijo de protocolo socks4a: //.

Si esta opción se usa varias veces, se usará la última.

--socks5-hostname <host [: puerto]>

Use el proxy SOCKS5 especificado (y deje que el proxy resuelva el nombre de host). Si no se especifica el número de puerto, se asume en el puerto 1080. (Agregado en 7.18.0)

Esta opción anula cualquier uso anterior de -x, --proxy, ya que son mutuamente excluyentes.

Desde 7.21.7, esta opción es superflua ya que puede especificar un proxy de nombre de host socks5 con -x, --proxy utilizando un prefijo de protocolo socks5h: //.

Si esta opción se usa varias veces, se usará la última. (Esta opción fue previamente documentada erróneamente y utilizada como --socks sin el número agregado).

--socks5 <host [: puerto]>

Use el proxy SOCKS5 especificado, pero resuelva el nombre de host localmente. Si no se especifica el número de puerto, se asume en el puerto 1080.

Esta opción anula cualquier uso anterior de -x, --proxy, ya que son mutuamente excluyentes.

Desde 7.21.7, esta opción es superflua ya que puede especificar un proxy socks5 con -x, --proxy usando un prefijo de protocolo socks5: //.

Si esta opción se usa varias veces, se usará la última. (Esta opción fue previamente documentada erróneamente y utilizada como --socks sin el número agregado).

Esta opción (así como --socks4) no funciona con IPV6, FTPS o LDAP.

--socks5-gssapi-service <nombre de servicio>

El nombre de servicio predeterminado para un servidor de calcetines es rcmd / server-fqdn. Esta opción le permite cambiarlo.

Ejemplos:

--socks5 nombre-proxy --socks5-gssapi-service sockd

usaría sockd / proxy-name;

--socks5 proxy-name --socks5-gssapi-service sockd / real-name

usaría sockd / real-name para los casos en que el nombre del proxy no coincida con el nombre principal.

--socks5-gssapi-nec

Como parte de la negociación de gssapi, se negocia un modo de protección. RFC 1961 dice en la sección 4.3 / 4.4 que debe protegerse, pero la implementación de referencia NEC no. La opción --socks5-gssapi-nec permite el intercambio sin protección de la negociación del modo de protección. (Agregado en 7.19.4).

--stderr <archivo>

En su lugar, redirija todas las escrituras a stderr al archivo especificado. Si el nombre del archivo es un simple '-', en su lugar se escribe en stdout.

Si esta opción se usa varias veces, se usará la última.

--tcp-nodelay

Active la opción TCP_NODELAY. Consulte la página del comando man curl_easy_setopt para obtener detalles sobre esta opción. (Agregado en 7.11.2)

--tftp-blksize <valor>

(TFTP) Establezca la opción TFTP BLKSIZE (debe ser> 512). Este es el tamaño de bloque que curl intentará usar cuando transfiera datos hacia o desde un servidor TFTP. Por defecto, se utilizarán 512 bytes.

Si esta opción se usa varias veces, se usará la última.

(Agregado en 7.20.0)

--tlsauthtype <authtype>

Establecer el tipo de autenticación TLS. Actualmente, la única opción admitida es "SRP", para TLS-SRP (RFC 5054). Si se especifican --tlsuser y --tlspassword pero --tlsauthtype no, entonces esta opción tiene el valor predeterminado "SRP". (Agregado en 7.21.4)

--tlsuser <usuario>

Establezca el nombre de usuario para usar con el método de autenticación TLS especificado con --tlsauthtype. Requiere que también se establezca --tlspassword. (Agregado en 7.21.4)

--tlspassword <contraseña>

Establezca la contraseña para usar con el método de autenticación TLS especificado con --tlsauthtype. Requiere que también se establezca --tlsuser. (Agregado en 7.21.4)

--tr-encoding

(HTTP) Solicite una respuesta de codificación de transferencia comprimida utilizando uno de los algoritmos que admite curl y descomprima los datos mientras los recibe.

(Agregado en 7.21.6)

-t, --telnet-option <OPT = val>

Pase las opciones al protocolo telnet. Las opciones admitidas son:

TType = <term> Establece el tipo de terminal.

XDISPLOC = <pantalla X> Establece la ubicación de la pantalla X.

NEW_ENV = <var, val> Establece una variable de entorno.

-T, --upload-file <archivo>

Esto transfiere el archivo local especificado a la URL remota. Si no hay parte del archivo en la URL especificada, Curl agregará el nombre del archivo local. TENGA EN CUENTA que debe usar un seguimiento / en el último directorio para demostrar realmente que no hay nombre de archivo o curl pensará que su último nombre de directorio es el nombre de archivo remoto que debe usar. Lo más probable es que la operación de carga falle. Si esto se usa en un servidor http (s), se usará el comando PUT.

Use el nombre de archivo "-" (un solo guión) para usar stdin en lugar de un archivo dado. Alternativamente, el nombre del archivo "." (un solo período) puede especificarse en lugar de "-" para usar stdin en modo sin bloqueo para permitir leer la salida del servidor mientras se está cargando stdin.

Puede especificar una -T para cada URL en la línea de comando. Cada par de URL -T + especifica qué cargar y dónde. curl también es compatible con el "globbing" del argumento -T, lo que significa que puede cargar varios archivos en una sola URL utilizando el mismo estilo de globbing de URL admitido en la URL, de esta manera:

curl -T "{archivo1, archivo2}" http://www.uploadtothissite.com

o incluso

curl -T "img [1-1000] .png" ftp://ftp.picturemania.com/upload/

--trace <archivo>

Permite un volcado de rastreo completo de todos los datos entrantes y salientes, incluida la información descriptiva, en el archivo de salida dado. Use "-" como nombre de archivo para enviar la salida a stdout.

Esta opción anula los usos anteriores de -v, --verbose o --trace-ascii.

Si esta opción se usa varias veces, se usará la última.

--trace-ascii <archivo>

Permite un volcado de rastreo completo de todos los datos entrantes y salientes, incluida la información descriptiva, en el archivo de salida dado. Use "-" como nombre de archivo para enviar la salida a stdout.

Esto es muy similar a --trace, pero omite la parte hexadecimal y solo muestra la parte ASCII del volcado. Produce resultados más pequeños que podrían ser más fáciles de leer para humanos no entrenados.

Esta opción anula los usos anteriores de -v, --verbose o --trace.

Si esta opción se usa varias veces, se usará la última.

tiempo de rastreo

Antepone una marca de tiempo a cada trazo o línea detallada que se muestra en curva. (Agregado en 7.14.0)

-u, --user <usuario: contraseña>

Especifique el usuario y la contraseña que se usarán para la autenticación del servidor. Invalida -n, --netrc y --netrc-opcional.

Si le da el nombre de usuario (sin ingresar dos puntos), curl le solicitará una contraseña.

Si utiliza un binario curl habilitado para SSPI y realiza la autenticación NTLM, puede forzar curl a elegir el nombre de usuario y la contraseña de su entorno especificando dos puntos con esta opción: "-u:".

Si esta opción se usa varias veces, se usará la última.

-U, --proxy-user <usuario: contraseña>

Especifique el usuario y la contraseña que se usarán para la autenticación del proxy.

Si utiliza un binario curl habilitado para SSPI y realiza la autenticación NTLM, puede forzar a curl a elegir el nombre de usuario y la contraseña de su entorno especificando dos puntos con esta opción: "-U:".

Si esta opción se usa varias veces, se usará la última.

--url <URL>

Especifique una URL para buscar. Esta opción es principalmente útil cuando desea especificar URL (s) en un archivo de configuración.

Esta opción se puede usar cualquier cantidad de veces. Para controlar dónde se escribe esta URL, use las opciones -o, --output u -O, --remote-name.

-v, --verbose

Hace que ir a buscar sea más detallado / hablador. Principalmente utilizable para la depuración. Las líneas que comienzan con '>' significa "datos de encabezado" enviados por curl, '<' significa "datos de encabezado" recibidos por curl que están ocultos en casos normales y las líneas que comienzan con '*' significa información adicional proporcionada por curl.

Tenga en cuenta que si solo desea encabezados HTTP en la salida, -i, --include podría ser la opción que está buscando.

Si cree que esta opción aún no le brinda suficientes detalles, considere usar --trace o --trace-ascii en su lugar.

Esta opción anula los usos anteriores de --trace-ascii o --trace.

Use -s, --silent para hacer que el rizo sea silencioso.

-w, - escribir <formato>

Define qué mostrar en stdout después de una operación completa y exitosa. El formato es una cadena que puede contener texto sin formato mezclado con cualquier número de variables. La cadena se puede especificar como "cadena", para obtener la lectura de un archivo en particular, debe especificarla "@filename" y decirle a curl que lea el formato desde la entrada estándar que escribe "@ -".

Las variables presentes en el formato de salida serán sustituidas por el valor o el texto que curl considere adecuado, como se describe a continuación. Todas las variables se especifican como% {variable_name} y para generar un% normal las escribes como %%. Puede generar una nueva línea utilizando n, un retorno de carro con r y un espacio de tabulación con t.

NOTA: El% -letter es una letra especial en el entorno win32, donde todas las apariciones de% deben duplicarse al usar esta opción.

Las variables disponibles son en este punto:

tipo de contenido

El tipo de contenido del documento solicitado, si hubiera alguno.

nombre_archivo_efectivo

El último nombre de archivo en el que curl escribe. Esto solo tiene sentido si se le dice a curl que escriba en un archivo con la opción --remote-name o --output. Es más útil en combinación con la opción --remote-header-name. (Agregado en 7.25.1)

ftp_entry_path

La curva de ruta inicial terminó al iniciar sesión en el servidor FTP remoto. (Agregado en 7.15.4)

http_code

El código de respuesta numérico que se encontró en la última transferencia HTTP (S) o FTP (s) recuperada. En 7.18.2 se agregó el alias response_code para mostrar la misma información.

http_connect

El código numérico que se encontró en la última respuesta (de un proxy) a una solicitud curl CONNECT. (Agregado en 7.12.4)

local_ip

La dirección IP del extremo local de la conexión realizada más recientemente puede ser IPv4 o IPv6 (agregado en 7.29.0)

puerto_local

El número de puerto local de la conexión realizada más recientemente (Agregado en 7.29.0)

num_connects

Número de nuevas conexiones realizadas en la transferencia reciente. (Agregado en 7.12.3)

num_redirects

Número de redireccionamientos que se siguieron en la solicitud. (Agregado en 7.12.3)

Redireccionar URL

Cuando se realizó una solicitud HTTP sin -L para seguir los redireccionamientos, esta variable muestra la URL real a la que lo redireccionaría. (Agregado en 7.18.2)

IP remota

La dirección IP remota de la conexión realizada más recientemente: puede ser IPv4 o IPv6 (agregado en 7.29.0)

Puerto remoto

El número de puerto remoto de la conexión realizada más recientemente (Agregado en 7.29.0)

size_download

La cantidad total de bytes que se descargaron.

size_header

La cantidad total de bytes de los encabezados descargados.

size_request

La cantidad total de bytes que se enviaron en la solicitud HTTP.

size_upload

La cantidad total de bytes que se cargaron.

speed_download

La velocidad de descarga promedio que se midió para la descarga completa. Bytes por segundo.

carga_velocidad

La velocidad de carga promedio que se mide en curva para la carga completa. Bytes por segundo.

ssl_verify_result

El resultado de la verificación del certificado de igual SSL que se solicitó. 0 significa que la verificación fue exitosa. (Agregado en 7.19.0)

time_appconnect

El tiempo, en segundos, tardó desde el principio hasta que se completó la conexión SSL / SSH / etc al host remoto. (Agregado en 7.19.0)

time_connect

El tiempo, en segundos, tardó desde el principio hasta que se completó la conexión TCP al host remoto (o proxy).

time_namelookup

El tiempo, en segundos, tardó desde el principio hasta que se completó la resolución del nombre.

time_pretransfer

El tiempo, en segundos, tardó desde el principio hasta que la transferencia de archivos estaba a punto de comenzar. Esto incluye todos los comandos y negociaciones previas a la transferencia que son específicos de los protocolos particulares involucrados.

time_redirect

El tiempo, en segundos, que tomó para todos los pasos de redirección incluye la búsqueda de nombres, la conexión, la transferencia previa y la transferencia antes de que se iniciara la transacción final. time_redirect muestra el tiempo de ejecución completo para múltiples redirecciones. (Agregado en 7.12.3)

time_starttransfer

El tiempo, en segundos, tardó desde el principio hasta que el primer byte estaba a punto de ser transferido. Esto incluye time_pretransfer y también el tiempo que el servidor necesitó para calcular el resultado.

tiempo_total

El tiempo total, en segundos, que duró la operación completa. El tiempo se mostrará con una resolución de milisegundos.

url_effective

La URL que se obtuvo por última vez. Esto es más significativo si le has dicho a curl que siga la ubicación: encabezados.

-x, --proxy <[protocolo: //] [usuario: [correo electrónico protegido]] proxyhost [: puerto]>

Utiliza el proxy HTTP especificado. Si no se especifica el número de puerto, se asume en el puerto 1080.

Esta opción anula las variables de entorno existentes que configuran el proxy para usar. Si hay una variable de entorno que configura un proxy, puede configurar el proxy en "" para anularlo.

Todas las operaciones que se realizan a través de un proxy HTTP se convertirán de manera transparente a HTTP. Significa que ciertas operaciones específicas del protocolo podrían no estar disponibles. Este no es el caso si puede hacer un túnel a través del proxy, como uno con la opción -p, --proxytunnel.

El usuario y la contraseña que se pueden proporcionar en la cadena del proxy son URL decodificados por curl. Esto le permite pasar caracteres especiales como @ usando% 40 o pasar dos puntos con% 3a.

El host proxy se puede especificar exactamente de la misma manera que las variables de entorno proxy, incluido el prefijo de protocolo (http: //) y el usuario incrustado + contraseña.

Desde 7.21.7, la cadena de proxy se puede especificar con un protocolo: // prefijo para especificar protocolos de proxy alternativos. Use socks4: //, socks4a: //, socks5: // o socks5h: // para solicitar que se use la versión específica de SOCKS. No se especificó ningún protocolo, http: // y todos los demás serán tratados como proxies HTTP.

Si esta opción se usa varias veces, se usará la última.

-X, --request <comando>

(HTTP) Especifica un método de solicitud personalizado para usar cuando se comunica con el servidor HTTP. La solicitud especificada se utilizará en lugar del método utilizado de otra manera (que por defecto es GET). Lea la especificación HTTP 1.1 para obtener detalles y explicaciones. Las solicitudes HTTP adicionales comunes incluyen PUT y DELETE, pero las tecnologías relacionadas como WebDAV ofrecen PROPFIND, COPY, MOVE y más.

Normalmente no necesitas esta opción. Se invocan todo tipo de solicitudes GET, HEAD, POST y PUT utilizando opciones de línea de comandos dedicadas.

Esta opción solo cambia la palabra real utilizada en la solicitud HTTP, no altera el comportamiento de curl. Entonces, por ejemplo, si desea realizar una solicitud HEAD adecuada, usar -X HEAD no será suficiente. Debe usar la opción -I, --head.

(FTP) Especifica un comando FTP personalizado para usar en lugar de LISTA al hacer listas de archivos con FTP.

Si esta opción se usa varias veces, se usará la última.

--xattr

Al guardar la salida en un archivo, esta opción le dice a curl que almacene ciertos metadatos de archivo en atributos de archivo extendidos. Actualmente, la URL se almacena en el atributo xdg.origin.url y, para HTTP, el tipo de contenido se almacena en el atributo mime_type. Si el sistema de archivos no admite atributos extendidos, se emite una advertencia.

-y, --speed-time <hora>

Si una descarga es más lenta que los bytes de límite de velocidad por segundo durante un período de tiempo de velocidad, la descarga se cancela. Si se usa speed-time, el límite de velocidad predeterminado será 1 a menos que se configure con -Y.

Esta opción controla las transferencias y, por lo tanto, no afectará las conexiones lentas, etc. Si esto le preocupa, pruebe la opción --connect-timeout.

Si esta opción se usa varias veces, se usará la última.

-Y, - límite de velocidad <velocidad>

Si una descarga es más lenta que esta velocidad dada, en bytes por segundo, durante segundos de velocidad, se anula. speed-time se establece con -y y es 30 si no se establece.

Si esta opción se usa varias veces, se usará la última.

-z, --time-cond <fecha expresión> | <archivo>

(HTTP) Solicite un archivo que se modificó después de la fecha y hora especificada, o uno que se modificó antes de esa hora. La <expresión de fecha> puede ser todo tipo de cadenas de fecha o, si no coincide con ninguna interna, se toma como un nombre de archivo e intenta obtener la fecha de modificación (mtime) de <file>. Consulte las páginas del comando man curl_getdate para obtener detalles sobre las expresiones de fecha.

Comience la expresión de fecha con un guión (-) para que solicite un documento que sea anterior a la fecha / hora especificada, el valor predeterminado es un documento que es más nuevo que la fecha / hora especificada.

Si esta opción se usa varias veces, se usará la última.

--max-redirs <num>

Establezca el número máximo de redirecciones que se pueden seguir. Si se usa la ubicación -L / -, esta opción se puede usar para evitar que el rizo siga las redirecciones "en absurdo". Por defecto, el límite se establece en 50 redirecciones. Establezca esta opción en -1 para que sea ilimitada.

Si esta opción se usa varias veces, se usará la última.

-0, --http1.0

(HTTP) Obliga a curl a emitir sus solicitudes usando HTTP 1.0 en lugar de usar su preferencia interna: HTTP 1.1.

-1, --tlsv1

(SSL) Obliga a curl a usar TSL versión 1 al negociar con un servidor TLS remoto.

-2, --sslv2

(SSL) Obliga a curl a usar la versión 2 de SSL al negociar con un servidor SSL remoto.

-3, --sslv3

(SSL) Obliga a curl a usar la versión 3 de SSL al negociar con un servidor SSL remoto.

--3p-quote

(FTP) Especifique comandos arbitrarios para enviar al servidor de origen. Vea la opción -Q, --quote para más detalles. (Agregado en 7.13.0)

--3p-url

(FTP) Activa una transferencia de terceros de FTP. Especifica la URL de origen para obtener un archivo, mientras que la URL "normal" se utilizará como URL de destino, el archivo que se escribirá / creará.

Tenga en cuenta que no todos los servidores FTP permiten transferencias de terceros. (Agregado en 3)

--3p-usuario

(FTP) Especifique usuario: contraseña para la transferencia de URL de origen. (Agregado en 7.13.0)

-4, --ipv4

Si libcurl es capaz de resolver una dirección en varias versiones de IP (que es si es compatible con ipv6), esta opción le dice a libcurl que resuelva los nombres solo en direcciones IPv4.

-6, --ipv6

Si libcurl es capaz de resolver una dirección en varias versiones de IP (que es si es compatible con ipv6), esta opción le dice a libcurl que resuelva los nombres solo en direcciones IPv6.

-#, --barra de progreso

Haga que la información de progreso de la visualización del rizo se muestre como una barra de progreso en lugar de las estadísticas predeterminadas.

Si esta opción se usa dos veces, la segunda volverá a deshabilitar la barra de progreso.

URL

La sintaxis de la URL depende del protocolo. Encontrará una descripción detallada en RFC 3986.

Puede especificar varias URL o partes de URL escribiendo conjuntos de partes entre llaves como en:

http://site.{one,two,three}.com

o puede obtener secuencias de series alfanuméricas usando [] como en:

ftp://ftp.numericals.com/file[1-100font>.txt ftp://ftp.numericals.com/file[001-100font>.txt ftp://ftp.letters.com/file[az] .TXT

Las secuencias anidadas no son compatibles, pero puede usar varias una al lado de la otra:

http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html

Puede especificar cualquier cantidad de URL en la línea de comando. Se buscarán de forma secuencial en el orden especificado.

Puede especificar un contador de pasos para los rangos para obtener cada enésimo número o letra:

http://www.numericals.com/file[1-100:10].txt http://www.letters.com/file[a-z:2].txt

Si especifica URL sin protocolo: // prefijo, curl intentará adivinar qué protocolo puede desear. Luego, el valor predeterminado será HTTP, pero pruebe otros protocolos basados ​​en prefijos de nombres de host de uso frecuente. Por ejemplo, para nombres de host que comienzan con "ftp". curl asumirá que quieres hablar FTP.

curl hará todo lo posible para usar lo que le pasas como URL. No está tratando de validarlo como una URL sintácticamente correcta de ninguna manera, sino que es muy liberal con lo que acepta.

curl intentará reutilizar las conexiones para múltiples transferencias de archivos, de modo que obtener muchos archivos del mismo servidor no hará múltiples conexiones / apretones de manos. Esto mejora la velocidad. Por supuesto, esto solo se hace en archivos especificados en una sola línea de comando y no se puede usar entre invocaciones de rizo separadas.

Medidor de progreso

curl normalmente muestra un medidor de progreso durante las operaciones, indicando la cantidad de datos transferidos, las velocidades de transferencia y el tiempo restante estimado, etc.

curl muestra estos datos al terminal de forma predeterminada, por lo que si invoca curl para realizar una operación y está a punto de escribir datos en el terminal, deshabilita el medidor de progreso ya que de lo contrario dañaría la salida mezclando el medidor de progreso y los datos de respuesta.

Si desea un medidor de progreso para las solicitudes HTTP POST o PUT, debe redirigir la salida de respuesta a un archivo, utilizando la redirección de shell (>), -o [archivo] o similar.

No es el mismo caso para la carga FTP ya que esa operación no arroja ningún dato de respuesta al terminal.

Si prefiere una "barra" de progreso en lugar del medidor normal, - # es su amigo.

Variables de entorno

Las variables de entorno se pueden especificar en minúsculas o mayúsculas. La versión en minúscula tiene prioridad. http_proxy es una excepción, ya que solo está disponible en minúsculas.

Usar una variable de entorno para configurar el proxy tiene el mismo efecto que usar la opción --proxy.

http_proxy [protocolo: //] <host> [: puerto]

Establece el servidor proxy para usar para HTTP.

HTTPS_PROXY [protocolo: //] <host> [: puerto]

Establece el servidor proxy para usar para HTTPS.

[protocolo-url] _PROXY [protocolo: //] <host> [: puerto]

Establece el servidor proxy para usar en [url-protocol], donde el protocolo es un protocolo que admite curl y como se especifica en una URL: FTP, FTPS, POP3, IMAP, SMTP, LDAP, etc.

ALL_PROXY [protocolo: //] <host> [: puerto]

Establece el servidor proxy para usar si no se establece un proxy específico del protocolo.

NO_PROXY <lista de hosts separados por comas>

lista de nombres de host que no deberían pasar por ningún proxy. Si se establece solo en un asterisco '*', coincide con todos los hosts.

Códigos de salida

Hay un montón de códigos de error diferentes y sus correspondientes mensajes de error que pueden aparecer en malas condiciones. Al momento de escribir esto, los códigos de salida son:

1

Protocolo no compatible Esta compilación de curl no tiene soporte para este protocolo.

2

No se pudo inicializar.

3

URL malformada. La sintaxis no era correcta.

4

Una característica u opción que era necesaria para realizar la solicitud deseada no estaba habilitada o se deshabilitó explícitamente en el momento de la compilación. Para que curl pueda hacer esto, ¡probablemente necesite otra compilación de libcurl!

5

No se pudo resolver el proxy. El servidor proxy dado no se pudo resolver.

6

No se pudo resolver el host. El host remoto dado no se resolvió.

7

No se pudo conectar al host.

8

FTP servidor extraño respuesta. El servidor envió datos curl no pudo analizar.

9

Acceso FTP denegado. El servidor denegó el inicio de sesión o denegó el acceso al recurso o directorio en particular al que deseaba acceder. La mayoría de las veces intentó cambiar a un directorio que no existe en el servidor.

11

FTP PASS extraña respuesta. Curl no pudo analizar la respuesta enviada a la solicitud PASS.

13

FTP extraña respuesta PASV, Curl no pudo analizar la respuesta enviada a la solicitud PASV.

14

FTP extraño formato 227. Curl no pudo analizar la línea 227 que envió el servidor.

15

FTP no puede obtener el host. No se pudo resolver la IP del host que obtuvimos en la línea 227.

17

FTP no pudo establecer binario. No se pudo cambiar el método de transferencia a binario.

18

Archivo parcial Solo se transfirió una parte del archivo.

19

FTP no pudo descargar / acceder al archivo dado, el comando RETR (o similar) falló.

21

Error de cotización FTP. Un comando de cotización devolvió un error del servidor.

22

Página HTTP no recuperada. La url solicitada no se encontró o devolvió otro error con el código de error HTTP 400 o superior. Este código de retorno solo aparece si se usa -f, --fail.

23

Error de escritura Curl no pudo escribir datos en un sistema de archivos local o similar.

25

FTP no pudo almacenar el archivo. El servidor denegó la operación STOR, utilizada para cargar FTP.

26

Error de lectura. Diversos problemas de lectura.

27

Sin memoria. Una solicitud de asignación de memoria falló.

28

Tiempo de expiración de operación. El tiempo de espera especificado se alcanzó según las condiciones.

30

PUERTO FTP falló. El comando PORT falló. No todos los servidores FTP admiten el comando PORT, ¡intente hacer una transferencia utilizando PASV!

31

FTP no pudo usar REST. El comando REST falló. Este comando se utiliza para continuar con las transferencias FTP.

33

Error de rango HTTP. El rango "comando" no funcionó.

34

Error de publicación HTTP. Error interno de generación posterior a la solicitud.

35

Error de conexión SSL. El protocolo de enlace SSL falló.

36

Currículum de descarga incorrecta de FTP. No se pudo continuar una descarga cancelada anteriormente.

37

ARCHIVO no pudo leer el archivo. No se pudo abrir el archivo. Permisos?

38

LDAP no puede vincularse. La operación de enlace LDAP ha fallado.

39

La búsqueda LDAP falló.

41

Función no encontrada. No se encontró una función LDAP requerida.

42

Anulado por devolución de llamada. Una aplicación le dijo a curl que abortara la operación.

43

Error interno. Se llamó a una función con un parámetro incorrecto.

45

Error de interfaz No se pudo usar una interfaz saliente especificada.

47

Demasiados redireccionamientos. Al seguir los redireccionamientos, la curvatura alcanza la cantidad máxima.

48

Opción desconocida especificada para libcurl. Esto indica que pasó una opción extraña para curl que se pasó a libcurl y se rechazó. Leer en el manual!

49

Opción telnet malformada.

51

El certificado SSL o la huella digital SSH MD5 de los pares no estaba bien.

52

El servidor no respondió nada, lo que aquí se considera un error.

53

Motor de cifrado SSL no encontrado.

54

No se puede establecer el motor de cifrado SSL como predeterminado.

55

Error al enviar datos de la red.

56

Fallo en la recepción de datos de la red.

58

Problema con el certificado local.

59

No se pudo usar el cifrado SSL especificado.

60

El certificado de igual no se puede autenticar con certificados de CA conocidos.

61

Codificación de transferencia no reconocida.

62

URL de LDAP no válida

63

Tamaño de archivo máximo excedido.

64

El nivel de SSL FTP solicitado falló.

65

Enviar los datos requiere un rebobinado que falló.

66

Error al inicializar el motor SSL.

67

El nombre de usuario, contraseña o similar no fue aceptado y curl no pudo iniciar sesión.

68

Archivo no encontrado en el servidor TFTP.

69

Problema de permiso en el servidor TFTP.

70

Sin espacio en disco en el servidor TFTP.

71

Operación TFTP ilegal.

72

ID de transferencia TFTP desconocida.

73

El archivo ya existe (TFTP).

74

No existe dicho usuario (TFTP).

75

La conversión de caracteres falló.

76

Se requieren funciones de conversión de caracteres.

77

Problema con la lectura del certificado de CA SSL (ruta? Derechos de acceso?).

78

El recurso al que se hace referencia en la URL no existe.

79

Se produjo un error no especificado durante la sesión SSH.

80

No se pudo cerrar la conexión SSL.

82

No se pudo cargar el archivo CRL, falta el formato o es incorrecto (agregado en 7.19.0).

83

Fallo en la verificación del emisor (agregado en 7.19.0).

84

El comando FTP PRET falló.

85

RTSP: falta de coincidencia de números CSeq.

86

RTSP: falta de coincidencia de identificadores de sesión.

87

no se puede analizar la lista de archivos FTP.

88

La devolución de llamada del fragmento FTP informó un error.

Ejemplos

curl https://www.computerhope.com/index.htm

Obtenga el archivo index.htm de www.computerhope.com utilizando el protocolo HTTP y muéstrelo a la salida estándar. Esto es esencialmente lo mismo que "ver la fuente" de la página web; se mostrará el HTML sin formato.

curl https://www.computerhope.com/index.htm> index.htm

Obtenga el mismo archivo que el anterior, pero redirija la salida a un archivo, index.htm, en el directorio actual.

curl -O https://www.computerhope.com/index.htm

Obtenga el mismo archivo que el anterior y envíelo a un archivo con el mismo nombre (index.htm) en el directorio actual, esta vez usando la función curl -O.

curl --limit-rate 1234B -O https://www.computerhope.com/index.htm

Igual que el anterior, pero esta vez, limite la velocidad de descarga a (una velocidad promedio de) 1,234 bytes / segundo.

curl --limit-rate 1234B -O - # https://www.computerhope.com/index.htm

Igual que el anterior, pero esta vez, muestra una barra de progreso (la opción - #) en lugar del medidor numérico de progreso.

Comandos relacionados

wget: descarga archivos a través de HTTP o FTP.

#goog-gt-tt {display:none !important;}.goog-te-banner-frame {display:none !important;}.goog-te-menu-value:hover {text-decoration:none !important;}body {top:0 !important;}#gtranslate_element {display:none!important;}

var gt_not_translated_list = ["-a, --append","--anyauth","-B, --use-ascii","-C, --continue-at <offset>","--create-dirs","--crlf","-d, --data <data>","--data-ascii <data>","--data-binary <data>","--data-urlencode <data>","--disable-eprt","--disable-epsv","-e, --referer <URL>","-f, --fail","--ftp-create-dirs","multicwd","nocwd","singlecwd","--ftp-pasv","--ftp-skip-pasv-ip","--ftp-pret","--ftp-ssl","--ftp-ssl-ccc","--ftp-ssl-control","--ftp-ssl-reqd","-g, --globoff","-G, --get","-H, --header <header>","--hostpubmd5 <md5>","--ignore-content-length","-j, --junk-session-cookies","--key <key>","--max-filesize <bytes>","curl --metalink http://www.example.com/example.metalink","-n, --netrc","--no-keepalive","--no-sessionid","--noproxy <no-proxy-list>","-N, --no-buffer","--netrc-file","--ntlm","--post301","--post302","--post303","--proto <protocols>","--proto-redir <protocols>","--proxy-anyauth","--proxy-ntlm","--pubkey <key>","-p, --proxytunnel","--remote-name-all","--retry <num>","-s, --silent","--sasl-ir","-S, --show-error","--ssl","--ssl-reqd","--ssl-allow-beast","--socks5-gssapi-nec","--tlsauthtype <authtype>","--tr-encoding","--url <URL>","ftp_entry_path","http_code","http_connect","num_connects","num_redirects","size_download","size_header","size_request","size_upload","speed_download","ssl_verify_result","time_appconnect","time_connect","time_namelookup","time_pretransfer","time_redirect","time_starttransfer","url_effective","--xattr","--max-redirs <num>","-0, --http1.0","-1, --tlsv1","-2, --sslv2","-3, --sslv3","--3p-quote","--3p-url","-4, --ipv4","-6, --ipv6","curl https://www.computerhope.com/index.htm","curl -O https://www.computerhope.com/index.htm","curl --limit-rate 1234B -O https://www.computerhope.com/index.htm"];
document.cookie = "googtrans=/en/es; domain=.balogs.xyz";
document.cookie = "googtrans=/en/es";
function GTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: 'en',layout: google.translate.TranslateElement.InlineLayout.SIMPLE,autoDisplay: false,multilanguagePage: true}, 'gtranslate_element');}