Categorías: Tutoriales

Aprender cURL [parte 1/2]

Es bien conocido que UNIX siempre a recomendado utilizar gwet para descargar archivos directamente desde la línea de comandos. Ideal para los Shell Scripts, wget fue genial en aquellos tiempos en los que no teníamos fácil acceso a un navegador Web. Por ejemplo, si tratamos de instalar una nueva aplicación en un servidor remoto, wget puede ser la solución.

Si eres de los que siguen usando wget, entonces te encantará cURL. Al igual que wget, cURL puede descargar archivos, pero también puede publicar datos en un formulario de una página Web, subir un archivo a través de File Transfer Protocol (FTP), actuar como proxy, configurar las cabeceras HTTP, e infinidad de cosas. Con lo que podemos concluir que tiene muchas aplicaciones potenciales.

Vamos a instalar cURL, así, desde nuestro terminal:

$ wget http://curl.haxx.se/download/curl-7.14.0.tar.gz
$ tar xzf curl-7.14.0.tar.gz
$ cd curl-7.14.0
$ ./configure && make && sudo make install

Podemos ver todas las descargas disponibles para otras plataformas (también para sistemas Windows) así como paquetes para ciertas distribuciones desde curl.haxx.se/download/

cURL tiene tantas opciones que lo mejor es leer su manual tendidamente. Estos que os muestro son algunos de los usos comunes de cURL:

Para descargar un archivo:

$ curl -o archivoDescargado.png https://www.linuxhispano.net/wp-content/themes/constructor/images/rsslh.png

A diferencia de wget, cURL retorna el contenido descargado a la salida estádar, con lo que usaremos la opción -o para guardar la descarga realizada.

Para descargar una serie de archivos, podemos proporcionar una secuencia, un conjunto o ambos. Una secuencia es una serie de números entre corchetes ([]); un conjunto es una lista delimitada por comas entre llaves ({}). Por ejemplo, el siguiente comando nos descargará todos los archivos llamados parta.html, partb.html y partc.html desde los directorio llamados archive1996/vol1 hasta archive1999/vol4, ambos inclusive, con un total de 48 archivos. Así, usando cURL:

$ curl https://www.linuxhispano.net/archive[1996-1999]/vol[1-4]/part{a,b,c}.html \
-o “archive#1_vol#2_part#3.html”

Cuando se especifica una secuencia o serie, podemos proporcionar la opción -o con una plantilla (template), donde #1 se sustituirá por el valor actual de la primera secuencia o serie, #2 es un marcador de posición para la segunda, y así sucesivamente. Como alternativa, también podemos proporcionar -o para mantener el nombre del archivo original (mantenerlo intacto)

Para cargar un conjunto de imágenes a un servidor, usaremos la opción -T:

$ curl -T “img[1-1000].png” ftp://ftp.linuxhispano.net/upload/

En el caso anterior hemos capturado img[1-1000].png entre comlillas para evitar que la shell interprete el patrón. Con este comando hemos conseguido cargar en nuestro servidor desde la imagen 1 a la 1000.

Estos son algunos de los ejemplos que podemos hacer, pronto os mostraré alguno más. Es importante conocerlos si deseamos automatizar cualquier tipo de acceso a la Web. ¿Le has dado alguna otra utilidad? ¿Lo usas actualmente?

Continuación: parte-2.

Alberto Hornero Luque

Contínuamente relacionado con el procesamiento de imágenes y el análisis numérico, se encuentra actualmente trabajando como Ingeniero Técnico en el laboratorio de Métodos Cuantitativos de Teledetección del CSIC. Administrador del portal Linux Hispano centra sus intereses en tecnologías abiertas, desarrollos en la nube y GNU/Linux, y hace poco fundó junto a Javier Carazo una startup, Codection. Puedes seguir sus updates en @ahornero y LinkedIn.

Ver comentarios

Entradas recientes

DeepSeek

3 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

1 mes hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace