Estoy interesado en saber la diferencia entre curly wget. Ambos se utilizan para obtener archivos y documentos, pero cuál es la diferencia clave entre ellos.
curlconstruye y corre en más plataformas que wget.
wgetse publica bajo una licencia de software libre copyleft (GNU GPL). curlse publica bajo una licencia permisiva de software libre (un derivado del MIT).
curlofrece capacidades de carga y envío. wgetsolo ofrece soporte HTTP POST simple.
Gracias, esto es exactamente lo que me he estado preguntando durante unas horas. Solía wget para hacer una araña recursiva en un sitio, parece estancado en una página que tiene once mil millones de enlaces. La realidad es que está funcionando al 100% de CPU en un núcleo. Tenía la esperanza de que hubiera algo mejor que hiciera esa nueva cosa multinúcleo de la que he estado escuchando.
Brian Topping
1
Una de las cosas wgetque queda fuera de esta respuesta es la capacidad de duplicación de http (o 'spidering'). curles muy bueno en lo que hace, pero por sí solo no está destinado a utilizarse para reflejar un sitio web.
jsbillings
¿Qué pasa con wput siendo un alias, soportando ftp.
mckenzm
1
Estas frases no tienen sentido: "y todos los derechos de autor se asignan a FSF", "es completamente independiente e independiente, sin ninguna organización de padres". Es obvio que el autor de cURL es el propietario de los derechos de autor. Es obvio que el autor de wget es el propietario de los derechos de autor. Pero ambos son gratuitos como en el software Freedom. En su lugar, puede decir que wget está bajo una licencia copyleft y cURL bajo una licencia permisiva.
Valerio Bozz
1
@ValerioBozz: en realidad no. Tanto curl como wget son proyectos comunitarios. Con curl, cada persona posee los derechos de autor del código que contribuyen. Con Wget, como con la mayoría de los otros programas de GNU, los diversos autores regalan sus derechos de autor a la FSF. Es decir, ya no son dueños de ese código. Esto es para permitir que la FSF haga cumplir estrictamente el copyleft y vuelva a licenciar el código si es necesario.
darnir el
57
En pocas palabras:
wget es una herramienta para descargar archivos de servidores
curl es una herramienta que te permite intercambiar solicitudes / respuestas con un servidor
wget
Wget únicamente le permite descargar archivos de una HTTP/ HTTPSo FTPservidor. Le da un enlace y descarga automáticamente el archivo al que apunta el enlace. Construye la solicitud automáticamente.
rizo
Curl en contraste con wget le permite crear la solicitud como desee . Esto le da mucha libertad al usuario y es una herramienta de depuración increíble. Agregue a eso la otra diferencia clave entre los dos: la gran cantidad de protocolos compatibles. Soportes de enrollamiento FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, Telnet, DICT, LDAP, LDAPS, IMAP, POP3, SMTP, RTSPy URI. Combine estos dos puntos clave y tendrá una herramienta increíble para probar protocolos, probar la configuración del servidor, etc.
Como muchos dicen, puedes descargar un archivo con curl. Sin embargo, eso solo es útil si desea descargar un archivo de un servidor que utiliza un protocolo que wget no admite.
En realidad wgettambién sigue la redirección y luego guarda la respuesta a diferencia curl. Ambos pueden lograr lo contrario al comportamiento predeterminado wget -qO - http://google.co.uk/ ocurl http://google.co.uk/ > index.html
Matt
1
Sin embargo, @mtm curl http://google.co.uk/ > index.htmlno está utilizando una funcionalidad incorporada. De todos modos, la distinción principal es el propósito para el que se hizo cada herramienta. No se puede negar que las herramientas evolucionan y muchas veces se desvían de su trayectoria inicial.
Pithikos
1
@mtm curl http://google.co.uk -o index.htmlusaría los componentes internos de curl en lugar de la redirección de salida de shell con >.
Petrus Repo
19
En realidad, la principal diferencia es que curlincluye una biblioteca ( libcurl), y esa biblioteca es ampliamente utilizada por otras aplicaciones. wgetes independiente
curl
autor: daniel.haxx.se/docs/curl-vs-wget.htmlRespuestas:
Las principales diferencias son:
wget
El principal lado fuerte en comparación concurl
su capacidad para descargar de forma recursiva.wget
es solo línea de comando. No hay lib ni nada, perocurl
las funciones de libcurl funcionan.curl
apoyaFTP
,FTPS
,HTTP
,HTTPS
,SCP
,SFTP
,TFTP
,TELNET
,DICT
,LDAP
,LDAPS
,FILE
,POP3
,IMAP
,SMTP
,RTMP
yRTSP
.wget
apoyaHTTP
,HTTPS
yFTP
.curl
construye y corre en más plataformas quewget
.wget
se publica bajo una licencia de software libre copyleft (GNU GPL).curl
se publica bajo una licencia permisiva de software libre (un derivado del MIT).curl
ofrece capacidades de carga y envío.wget
solo ofrece soporte HTTP POST simple.Puede ver más detalles en el siguiente enlace:
rizo vs Wget
fuente
wget
que queda fuera de esta respuesta es la capacidad de duplicación de http (o 'spidering').curl
es muy bueno en lo que hace, pero por sí solo no está destinado a utilizarse para reflejar un sitio web.En pocas palabras:
wget
es una herramienta para descargar archivos de servidorescurl
es una herramienta que te permite intercambiar solicitudes / respuestas con un servidorwget
Wget únicamente le permite descargar archivos de una
HTTP
/HTTPS
oFTP
servidor. Le da un enlace y descarga automáticamente el archivo al que apunta el enlace. Construye la solicitud automáticamente.rizo
Curl en contraste con wget le permite crear la solicitud como desee . Esto le da mucha libertad al usuario y es una herramienta de depuración increíble. Agregue a eso la otra diferencia clave entre los dos: la gran cantidad de protocolos compatibles. Soportes de enrollamiento
FTP
,FTPS
,Gopher
,HTTP
,HTTPS
,SCP
,SFTP
,TFTP
,Telnet
,DICT
,LDAP
,LDAPS
,IMAP
,POP3
,SMTP
,RTSP
yURI
. Combine estos dos puntos clave y tendrá una herramienta increíble para probar protocolos, probar la configuración del servidor, etc.Como muchos dicen, puedes descargar un archivo con curl. Sin embargo, eso solo es útil si desea descargar un archivo de un servidor que utiliza un protocolo que wget no admite.
fuente
wget
también sigue la redirección y luego guarda la respuesta a diferenciacurl
. Ambos pueden lograr lo contrario al comportamiento predeterminadowget -qO - http://google.co.uk/
ocurl http://google.co.uk/ > index.html
curl http://google.co.uk/ > index.html
no está utilizando una funcionalidad incorporada. De todos modos, la distinción principal es el propósito para el que se hizo cada herramienta. No se puede negar que las herramientas evolucionan y muchas veces se desvían de su trayectoria inicial.curl http://google.co.uk -o index.html
usaría los componentes internos de curl en lugar de la redirección de salida de shell con>
.En realidad, la principal diferencia es que
curl
incluye una biblioteca (libcurl
), y esa biblioteca es ampliamente utilizada por otras aplicaciones.wget
es independientefuente