Ambos curly wgetse usan para descargar archivos, etc. ¿Hay alguna razón para usar uno sobre el otro?
Ambos curly wgetse usan para descargar archivos, etc. ¿Hay alguna razón para usar uno sobre el otro?
Respuestas:
Después de haber definido "uso apropiado", use wget.
¿Por qué? Es por eso:
Recursivo! La principal ventaja de wget en comparación con curl es su capacidad de descargar de forma recursiva, o incluso simplemente descargar todo lo que se hace referencia desde un recurso remoto, ya sea una página HTML o una lista de directorios FTP.
Desvergonzado copiado de aquí
curlbiblioteca . curlestá alimentado por libcurl: una biblioteca multiplataforma con una API estable que puede ser utilizada por todos y cada uno. Esta diferencia es importante ya que crea una actitud completamente diferente sobre cómo hacer las cosas internamente. También es un poco más difícil crear una biblioteca que una "simple" herramienta de línea de comandos.
tuberías . curlfunciona más como el catcomando tradicional de Unix , envía más cosas stdouty lee más de stdinuna manera "todo es una tubería". wgetes más como cpusar el mismo análogo.
Un solo disparo . curlbásicamente está hecho para hacer transferencias de datos de un solo disparo. Transfiere solo las URL que especifica el usuario y no contiene ninguna lógica de descarga recursiva ni ningún tipo de analizador HTML.
Más protocolos . curladmite FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, ARCHIVO, POP3, IMAP, SMB / CIFS, SMTP, RTMP y RTSP. Wget solo es compatible con HTTP, HTTPS y FTP.
Más portátil . curlse construye y se ejecuta en muchas más plataformas que wget. Por ejemplo: OS / 400, TPF y otras plataformas más "exóticas" que no son clones directos de Unix.
Más bibliotecas SSL y soporte SSL . curlse puede construir con una de once (¡11!) bibliotecas SSL / TLS diferentes, y ofrece más control y un soporte más amplio para los detalles del protocolo. curladmite fijación de clave pública.
HTTP auth . curladmite más métodos de autenticación HTTP, especialmente a través de servidores proxy HTTP: Basic, Digest, NTLM y Negotiate
SOCKS . curladmite varias versiones de protocolo SOCKS para acceso proxy
Bidireccional . curlofrece capacidades de carga y envío. wgetsolo ofrece soporte HTTP POST simple.
Envío de datos multiparte / formulario HTTP , que permite a los usuarios realizar "carga" HTTP y, en general, emular navegadores y automatizar HTTP en mayor medida
curladmite gzipe infla la codificación de contenido y realiza la descompresión automática
curl ofrece y realiza la descompresión de HTTP codificado por transferencia, wget no
curl admite HTTP / 2 y se conecta con doble pila utilizando Happy Eyeballs
Mucho más actividad de desarrollador . Si bien esto se puede debatir, considero tres métricas aquí: actividad de la lista de correo, frecuencia de confirmación del código fuente y frecuencia de lanzamiento. Cualquiera que siga estos dos proyectos puede ver que el proyecto curl tiene un ritmo mucho más alto en todas estas áreas, y lo ha sido durante más de 10 años. Comparar en openhub
wgetwgetes solo línea de comando. No hay biblioteca
Recursivo ! wgetEl principal lado positivo en comparación con curl es su capacidad de descargar de forma recursiva, o incluso simplemente descargar todo lo que se hace referencia desde un recurso remoto, ya sea una página HTML o una lista de directorios FTP.
Más viejos . wgettiene rastros desde 1995, mientras que curlpuede rastrearse no antes de finales de 1996.
GPL . wgetes 100% GPL v3. curl tiene licencia MIT.
GNU . wgetes parte del proyecto GNU y todos los derechos de autor se asignan a FSF. El proyecto curl es completamente independiente e independiente, sin ninguna organización de padres, con casi todos los derechos de autor propiedad de Daniel.
wgetno requiere opciones adicionales para simplemente descargar una URL remota a un archivo local, mientras que curlrequiere -oo -O.
wget admite la Lista de sufijos públicos para manejar dominios de cookies, curl no.
wget solo admite GnuTLS u OpenSSL para SSL / TLS
wget admite solo autenticación básica como el único tipo de autenticación sobre proxy HTTP
wget no tiene soporte SOCKS
Su capacidad para recuperarse de una transferencia interrumpida prematuramente y continuar la descarga no tiene contrapartida en curl.
wget se puede escribir usando solo la mano izquierda en un teclado qwerty!
curl -C -continúa la descarga interrumpida?
wget can be typed in using only the left hand on a qwerty keyboard!¿ WTF? wget requires no extra options to simply download a remote URL to a local file, while curl requires -o or -O.
Hay muchas herramientas que pueden descargar como curl, snarf, wget, pavuk, fget, fetch, lftp, aria2, HTTracketc Uso de acuerdo a sus necesidades y que cuentan desea utilizar junto con la descarga. Verifique la tabla de características y utilícela en consecuencia.
Rizo:
Wget:
Recursos importantes para más información:
Aquí hay una buena explicación curl vs Wget .
Tabla de características: Compare las características de cURL con otras herramientas de descarga
Detalle de las funciones compatibles con curl: Características: ¿qué puede hacer curl?
Detalle de las funciones compatibles con wget : características de wget
Tienen mucha funcionalidad en común, pero curltiene más opciones. De wgetvez en cuando puede ser suficiente para hojear man wget, pero curlnecesito estudiar esta página web en un navegador. Creo que cualquier cosa que su navegador pueda hacer, también curlpuede hacerlo.
Hay otra diferencia entre wget y curl que creo que es significativa.
Wget es una utilidad de línea de comandos independiente destinada principalmente a recuperar contenido de Internet de forma rápida y sencilla.
Curl, por otro lado, es básicamente un extremo frontal de la poderosa biblioteca libcurl. Libcurl proporciona un conjunto muy poderoso de herramientas para trabajar con URL en todas sus formas y sabores, y está disponible para casi todos los idiomas y plataformas. Básicamente, Curl te da la posibilidad de usar esta biblioteca en scripts de shell.