Los comandos *nix curl
y wget
son útiles para acceder a las URL sin recurrir a un navegador. Ambos comandos le permiten transferir datos desde un servidor de red, con curl
siendo el más robusto de los dos. Puede usar cualquiera de ellos para automatizar las descargas desde varios servidores.
El comando curl
Como se mencionó, el curl
El comando le permite transferir datos desde un servidor de red, pero también le permite mover datos a un servidor de red. Además de HTTP, puede utilizar otros protocolos, incluidos HTTPS, FTP, POP3, SMTP y Telnet. Los administradores suelen confiar en curl
para interactuar con las API utilizando los métodos DELETE, GET, POST y PUT, como se explica aquí.
La sintaxis de curl
es bastante sencillo a primera vista. Aquí hay un ejemplo:
$ curl http://www.example.com/help.txt
Opciones de rizo
Puede proporcionar varias opciones a la sintaxis de su comando:
curl [options] [url]
Son las opciones las que hacen curl
tan robusto Las siguientes son algunas de las opciones disponibles que se usan con curl
y ejemplos de su uso.
-a, --agregar
Al cargar un archivo, esta opción le permite agregarlo al archivo de destino en lugar de sobrescribirlo (FTP, SFTP).
$ curl --append file.txt ftp://ftp.example.com/file.txt
--conexión-tiempo de espera
El --connect-timeout
La opción establece el tiempo máximo en segundos que curl
puede utilizar para realizar su conexión con el servidor remoto. Esta opción es útil para evitar que la conexión finalice demasiado rápido y para minimizar la cantidad de tiempo que desea que el comando intente establecer la conexión.
$ curl --connect-timeout 600 http://www.example.com/
--servidores dns
Esta opción le permite listar servidores DNS curl
debe usar en lugar del valor predeterminado del sistema. Esta lista puede ser útil para solucionar problemas de DNS o si necesita resolver una dirección contra un servidor de nombres específico.
$ curl --dns-servers 8.8.8.8 http://www.example.com/
--http3
Puede decirle específicamente a curl que use el protocolo http3 para conectarse al host y al puerto proporcionado con una URL https. --http2 y --http1.1 funcionan de la misma manera y se pueden usar para verificar un servidor web.
$ curl --http3 http://www.example.com:8080/
--salida
Si necesita recuperar un archivo de un servidor remoto a través de una URL, --output
es una manera fácil de guardar el archivo localmente.
$ curl http://www.example.com/help.txt --output file.txt
--barra de progreso
Esta opción muestra el progreso de la transferencia de archivos cuando se combina con --output
opción.
$ curl --progress-bar http://www.example.com/help.txt --output file.txt
--sslv2
Al igual que con HTTP, puede decirle específicamente a curl que use una opción SSL específica para que el comando se conecte y, en este caso, estamos especificando la versión 2. --ssl especifica que se debe usar SSL y --sslv3 especifica la versión 3 de SSL. Nota:el mantenedor considera sslv2 y sslv3 heredados, aunque aún están disponibles.
$ curl --sslv2 https://www.example.com/
--detallado
El --verbose
opción con curl
es útil para depurar y mostrar lo que sucede durante la llamada a la URL.
$ curl --verbose http://www.example.com
El comando wget
A diferencia de curl
, el wget
El comando es únicamente para la recuperación de información de un servidor remoto. Por defecto, la información recibida se guarda con el mismo nombre que en la URL proporcionada.
Aquí hay un ejemplo del wget
básico sintaxis:
$ wget http://www.example.com/help.txt
wget Opciones
Me gusta curl
, puede proporcionar varias opciones a su wget
sintaxis del comando:
wget [option] [url]
--dns-servers=DIRECCIONES
Puede especificar uno o más servidores DNS específicos para usar cuando utilice wget
para acceder a un servidor remoto. Sin embargo, la sintaxis difiere si la opción y las direcciones del servidor de nombres se unen con un =.
$ wget --dns-servers=8.8.8.8 http://www.example.com
-O
Para guardar un archivo con un nuevo nombre al usar wget
, utilice el --output-document
opción, o más simplemente -O
.
$ wget http://www.example.com/help.txt -O file.txt
--progreso=tipo
Con wget
, puede proporcionar un tipo (punto o barra) para determinar el visual ASCII de la barra de progreso. Si no se especifica un tipo, por defecto será un punto.
$ wget --progress=dot http://www.example.com
Terminar
El curl
y wget
Los comandos pueden ser muy útiles cuando se agregan a los scripts para descargar automáticamente paquetes RPM u otros archivos. Esta publicación solo toca algunas de las características más comunes de lo que pueden hacer estos comandos. Consulte las páginas man relacionadas para obtener una lista completa de las opciones disponibles tanto para curl
y wget
.
[ ¿Quiere poner a prueba sus habilidades de administrador de sistemas? Tome una evaluación de habilidades hoy. ]