Saltar al contenido

curl – Comando de Unix, Linux

octubre 15, 2021

NOMBRE

rizo – Transfiere datos desde o hacia un servidor, utilizando uno de los protocolos: HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP o FILE. (Para transferir varios archivos, utilice wget o FTP).

SINOPSIS

curl [options] [URL...]

DESCRIPCIÓN

Curl transfiere datos desde o hacia un servidor, utilizando uno de los protocolos: HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP o FILE. (Para transferir varios archivos, utilice wget o FTP).

OPCIONES

Tiempo máximo que permite que dure toda la operación. Esto es útil para evitar que sus trabajos por lotes se cuelguen durante horas debido a redes lentas o enlaces caídos. Consulte también la opción –connect-timeout.

Etiqueta Descripción
url Una o varias URL que se obtendrán en secuencia. Se pueden especificar múltiples URL o partes de URL escribiendo conjuntos de partes entre llaves como en:
http://site.{one,two,three}.com 
or get sequences of alphanumeric series by using [] as in:
ftp://ftp.numericals.com/file[1-100].txt
ftp://ftp.numericals.com/file[001-100].txt (with leading zeros)
ftp://ftp.letters.com/file[a-z].txt
-Una «cadena de agente»
–user-agent «cadena de agente»
Especifique la cadena de agente de usuario para enviar al servidor HTTP. Para codificar espacios en blanco en la cadena, rodee la cadena con comillas simples. Esto también se puede configurar con la opción -H, –header. (HTTP)
-b nombre = datos
–cookie name = data
Envíe los datos al servidor HTTP como una cookie. Supuestamente son los datos recibidos previamente del servidor en una línea «Set-Cookie:». Los datos deben tener el formato «NOMBRE1 = VALOR1; NOMBRE2 = VALOR2».
-c nombre de archivo
–nombre de archivo de cookie-jar
Guarde las cookies en un archivo después de una operación completa. Curl escribe todas las cookies leídas previamente de un archivo específico, así como todas las cookies recibidas de servidores remotos. Si no se conocen cookies, no se escribirá ningún archivo. Para escribir en stdout, establezca el nombre del archivo en un solo guión, «-«.
–comprimido Solicite una respuesta comprimida utilizando uno de los algoritmos que admite curl (gzip) y guarde el documento sin comprimir. Si se utiliza esta opción y el servidor envía una codificación no admitida, curl informará un error (HTTP).
-d @archivo
-d «cadena»
–data «cadena»
Envíe los datos especificados en una solicitud POST (HTTP), de la misma manera que lo hace un navegador web. Esto pasará los datos utilizando la aplicación de tipo de contenido / x-www-form-urlencoded. Compare con -F, –form.
-d, –data es lo mismo que –data-ascii. Para publicar datos en binario puro, use –data-binary. Para codificar en URL el valor de un campo de formulario, puede usar –data-urlencode. Se fusionarán varias opciones de fecha. Por lo tanto, usar ‘-d nombre = daniel -d habilidad = pésimo’ generaría una publicación que se parece a ‘nombre = daniel & habilidad = pésimo’. Si los datos comienzan con @, el resto debe ser un nombre de archivo que contenga los datos.
-F nombre = @ archivo
-F nombre = contenido
–form name = content
Emule un formulario completo en el que un usuario ha presionado el botón Enviar. Esto publicará datos usando el tipo de contenido multiparte / form-data de acuerdo con RFC 2388. Esto permite cargar archivos binarios, etc. Si los datos comienzan con @, el resto debe ser un nombre de archivo. Para obtener la parte del contenido de un archivo, anteponga el nombre del archivo con el símbolo <. la diferencia entre y que hace un archivo se adjunte en publicaci como una carga de mientras campo texto obtiene el contenido ese archivo.>
-k
–inseguro
Esta opción permite explícitamente que curl realice transferencias y conexiones SSL «inseguras». Todas las conexiones SSL se intentan en modo seguro utilizando el paquete de certificado CA instalado de forma predeterminada. Esto hace que todas las conexiones consideradas «inseguras» fallen a menos que se utilice -k, –insecure. (SSL).
– velocidad de tasa límite Especifique la tasa de transferencia máxima. Esta función 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 / seg, ‘m’ o M ‘megabytes, mientras que’ g ‘o’ G ‘lo convierte en gigabytes / seg. Por ejemplo: 200K, 3m, 1G.
-m segundos
– segundos de tiempo máximo
-o archivo
–archivo de salida
Escriba la salida en un archivo en lugar de stdout. Si está usando {} o [] para buscar varios documentos, puede usar ‘#’ seguido de un número en el especificador de archivo. Esa variable se reemplazará con la cadena actual de la URL que se está recuperando. Como en:
curl http://{one,two}.site.com -o "file_#1.txt"

o use varias variables como:

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

Puede utilizar esta opción tantas veces como la cantidad de URL que tenga. Consulte también la opción –create-dirs para crear los directorios locales de forma dinámica. Especifique ‘-‘ para forzar la salida a salida estándar.

-O
–nombre-remoto
Escribe la salida en un archivo local llamado como el archivo remoto que obtenemos. (Solo se usa la parte del archivo del archivo remoto, la ruta está cortada). El nombre del 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.
-s
–silencio
Modo silencioso o silencioso. No muestre el medidor de progreso ni los mensajes de error.
–trace-archivo ascii Habilite un volcado de seguimiento completo de todos los datos entrantes y salientes, incluida la información descriptiva, en el archivo de salida dado. Utilice «-» como nombre de archivo para que la salida se envíe 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.
-T archivo
–upload-file archivo
Transfiera el archivo local especificado a la URL remota. PUT Si no hay una parte del archivo en la URL especificada, Curl agregará el nombre del archivo local. Debe usar un / al final del último directorio para demostrarle realmente a Curl que no hay un nombre de archivo o curl pensará que el último nombre de directorio es el nombre de archivo remoto a usar. Utilice el nombre de archivo «-» para utilizar stdin. Puede especificar una -T para cada URL en la línea de comando. Cada par -T + URL especifica qué cargar y dónde. curl también admite «globbing» del argumento -T, lo que significa que puede cargar varios archivos en una sola URL como esta:
curl -T "{file1,file2}" http://www.uploadtothissite.com

o incluso

curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/
-I
–cabeza
¡Obtenga solo el encabezado HTTP! (HTTP / FTP / FILE) Los servidores HTTP cuentan con el comando HEAD que utiliza 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 únicamente.
-u usuario: contraseña
–usuario usuario: contraseña
El nombre de usuario y la contraseña que se utilizarán para la autenticación del servidor. Anula -n, –netrc y –netrc-opcional. Si solo da el nombre de usuario (sin ingresar dos puntos), curl le pedirá una contraseña. Si utiliza un binario curl habilitado para SSPI y realiza la autenticación NTLM, puede forzar a curl a recoger 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.
-w
–formato de escritura
Defina información adicional para mostrar en la salida estándar 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 de formato se puede especificar como «cadena», o para leer de un archivo, especifique «@nombredearchivo» para leer el formato de stdin use «@ -«. Se pueden incluir varias variables en el formato y se sustituirán por curl (tamaño del archivo, dirección IP, etc., consulte man curl para obtener más detalles). las variables se especifican como% {variable_name} Genere una nueva línea usando n, un retorno de carro con r y un espacio de tabulación con t.
-x host: puerto
-X [protocol://][user:[email protected]]proxyhost[:port]
–apoderado [protocol://][user:[email protected]]proxyhost[:port]
Utilice el proxy HTTP especificado. Si no se especifica el número de puerto, se asume en el puerto 1080.
-H «nombre: valor»
–header «nombre: valor»
Agregue encabezado al obtener una página web. Puede especificar cualquier número de encabezados adicionales.
-H «nombre:»
–header «nombre:»
Eliminar encabezado, eliminar un encabezado interno.
-L
–localización
Siga las redirecciones si el servidor informa que la página solicitada se ha movido (indicado con un encabezado Ubicación: y un código de respuesta 3XX)
-v
–verboso
Hágalo más verboso / hablador. Principalmente útil para depurar.

EJEMPLOS

Para enviar su archivo de contraseña al servidor, donde ‘contraseña’ es el nombre del campo de formulario en el que / etc / passwd será la entrada:

$ curl -F [email protected]/etc/passwd www.mypasswords.com

Para recuperar una página web y mostrarla en la terminal

$ curl http://www.tutorialspoint.com

Para recuperar una página web y mostrar la información del encabezado

$ curl http://www.tutorialspoint.com -i

Para recuperar una página web y guardarla en un archivo.

$ curl http://www.tutorialspoint.com -0 tutorialspoint.html

Para recuperar una página web o su objetivo redirigido

$ curl www.tutorialspoint.com/unix/ 
$ curl www.tutorialspoint.com/unix/ --location

Para limitar la velocidad de transferencia de datos a 1 kilobytes / seg.

$ curl http://www.tutorialspoint.com/unix/ --limit-rate 1k -o unix.html

Para descargar a través de un servidor proxy

$ curl -x proxy.example.com:3128 http://www.tutorialspoint.com/unix/

Impresión

close