Comando wget de Linux

comando wget

En los sistemas operativos tipo Unix, el comando wget descarga archivos servidos con HTTP, HTTPS o FTP a través de una red.

Descripción

wget es una utilidad gratuita para la descarga no interactiva de archivos de la web. Admite protocolos HTTP, HTTPS y FTP, así como la recuperación a través de proxies HTTP.

wget no es interactivo, lo que significa que puede funcionar en segundo plano, mientras que el usuario no está conectado, lo que le permite iniciar una recuperación y desconectarse del sistema, permitiendo que wget termine el trabajo. Por el contrario, la mayoría de los navegadores web requieren una interacción constante del usuario, lo que dificulta la transferencia de una gran cantidad de datos.

wget puede seguir enlaces en páginas HTML y XHTML y crear versiones locales de sitios web remotos, recreando completamente la estructura de directorios del sitio original, que a veces se denomina "descarga recursiva". Al hacerlo, wget respeta el Robot Exclusion Standard (robots). txt). wget puede recibir instrucciones para convertir los enlaces de los archivos HTML descargados en archivos locales para verlos sin conexión.

wget ha sido diseñado para robustez sobre conexiones de red lentas o inestables; Si una descarga falla debido a un problema de red, seguirá volviendo a intentarlo hasta que se haya recuperado todo el archivo. Si el servidor admite la recuperación, le indicará al servidor que continúe la descarga desde donde la dejó.

Resumen

La forma más sencilla de usar wget es proporcionarle la ubicación de un archivo para descargar a través de HTTP. Por ejemplo, para descargar el archivo http://website.com/files/file.zip, este comando:

wget http://website.com/files/file.zip

... descargaría el archivo en el directorio de trabajo.

Hay muchas opciones que le permiten usar wget de diferentes maneras, para diferentes propósitos. Estos se describen a continuación.

Instalando wget

Si su sistema operativo es Ubuntu u otra distribución de Linux basada en Debian que utiliza APT para la gestión de paquetes, puede instalar wget con apt-get:

sudo apt-get install wget

Para otros sistemas operativos, consulte la documentación de su administrador de paquetes para obtener información sobre cómo ubicar el paquete binario wget e instalarlo. O bien, puede instalarlo desde la fuente desde el sitio web de GNU en https://www.gnu.org/software/wget/.

Sintaxis

wget [opción] ... [URL] ...

Opciones básicas de inicio

-V, --versión Visualice la versión de wget y salga.
-h, --ayuda Imprima un mensaje de ayuda que describa todas las opciones de línea de comandos de wget y salga.
-b, - fondo Ir al fondo inmediatamente después del inicio. Si no se especifica ningún archivo de salida a través de -o, la salida se redirige a wget-log.
-e comando, - ejecutar comando Ejecute el comando como si fuera parte del archivo .wgetrc. Un comando así invocado se ejecutará después de los comandos en .wgetrc, teniendo prioridad sobre ellos.

Opciones de registro y archivo de entrada

-o archivo de registro, --output-file = archivo de registro Registre todos los mensajes en el archivo de registro. Los mensajes normalmente se informan al error estándar.
-un archivo de registro, --append-output = logfile Añadir al archivo de registro. Esta opción es la misma que -o, solo que se agrega al archivo de registro en lugar de sobrescribir el archivo de registro anterior. Si el archivo de registro no existe, se crea un nuevo archivo.
-d, --debug Active la salida de depuración, lo que significa información diversa importante para los desarrolladores de wget si no funciona correctamente. El administrador del sistema puede haber elegido compilar wget sin soporte de depuración, en cuyo caso -d no funcionará. Tenga en cuenta que compilar con soporte de depuración siempre es seguro; wget compilado con el soporte de depuración no imprimirá ninguna información de depuración a menos que se solicite con -d.
-q, --quiet Desactiva la salida de wget.
-v, --verbose Active la salida detallada, con todos los datos disponibles. El resultado predeterminado es detallado.
-nv, --no-detallado Salida no detallada. Desactive detalladamente sin estar completamente silencioso (use -q para eso), lo que significa que los mensajes de error y la información básica aún se imprimen.
-i archivo, --input-file = archivo Leer las URL de un archivo local o externo. Si se especifica "-" como archivo, las URL se leen desde la entrada estándar. (Use "./-" para leer un archivo literalmente llamado "-".) Si se usa esta función, no es necesario que haya URL en la línea de comando. Si hay URL tanto en la línea de comando como en el archivo de entrada, las de las líneas de comando serán las primeras que se recuperarán. Si no se especifica --force-html, el archivo debe constar de una serie de URL, una por línea. Sin embargo, si especifica --force-html, el documento se considerará como HTML. En ese caso, puede tener problemas con los enlaces relativos, que puede resolver agregando <base href = "url"> a los documentos o especificando --base = url en la línea de comando. Si el archivo es externo, el documento se tratará automáticamente como HTML si el tipo de contenido es "text / html". Además, la ubicación del archivo se usará implícitamente como base href si no se especificó ninguno.
-F, --force-html Cuando la entrada se lee desde un archivo, obliga a que se trate como un archivo HTML. Esto le permite recuperar enlaces relativos de archivos HTML existentes en su disco local, agregando <base href = "url"> a HTML, o usando la opción de línea de comando --base.
-B URL - base = URL Resuelve enlaces relativos usando URL como punto de referencia, al leer enlaces de un archivo HTML especificado a través de la opción -i / - input-file (junto con --force-html, o cuando el archivo de entrada se obtuvo de forma remota desde un servidor describiéndolo como HTML). Esta opción es equivalente a la presencia de una etiqueta "BASE" en el archivo de entrada HTML, con URL como el valor para el atributo "href". Por ejemplo, si especifica http: //foo/bar/a.html para URL y wget lee ../baz/b.html del archivo de entrada, se resolverá en http: // foo / baz / b .html.
--config = ARCHIVO Especifique la ubicación de un archivo de inicio que desea usar.

Opciones de descarga

--bind-address = DIRECCIÓN Al hacer conexiones TCP / IP del cliente, enlace a ADDRESS en la máquina local. La DIRECCIÓN se puede especificar como un nombre de host o una dirección IP. Esta opción puede ser útil si su máquina está vinculada a múltiples IP.
-t número, --tries = número Establezca el número de reintentos en número. Especifique 0 o inf para reintentos infinitos. El valor predeterminado es volver a intentarlo 20 veces, con la excepción de errores fatales como "conexión rechazada" o "no encontrado" (404), que no se vuelven a intentar.
-O archivo, --output-document = archivo Los documentos no se escribirán en los archivos apropiados, pero todos se concatenarán juntos y se escribirán en el archivo. Si se usa "-" como archivo, los documentos se imprimirán a la salida estándar, deshabilitando la conversión de enlaces. (Use "./-" para imprimir en un archivo literalmente llamado "-".) El uso de -O no significa "usar el archivo de nombre en lugar del que está en la URL;" más bien, es análogo a la redirección de shell: wget -O file http: // foo está diseñado para funcionar como wget -O - http: // foo> file; el archivo se truncará de inmediato y todo el contenido descargado se escribirá allí. Por esta razón, -N (para la verificación de la marca de tiempo) no es compatible en combinación con -O: dado que el archivo siempre se crea de nuevo, siempre tendrá una marca de tiempo muy nueva. Se emitirá una advertencia si se utiliza esta combinación. Del mismo modo, usar -r o -p con -O puede no funcionar como espera: wget no solo descargará el primer archivo a archivo y luego descargará el resto a sus nombres normales: todo el contenido descargado se colocará en el archivo. Esto se deshabilitó en la versión 1.11, pero se ha restablecido (con una advertencia) en 1.11.2, ya que hay algunos casos en los que este comportamiento puede tener algún uso. Tenga en cuenta que una combinación con -k solo se permite al descargar un solo documento, ya que en ese caso solo convertirá todos los URI relativos a externos; -k no tiene sentido para múltiples URI cuando todos se descargan en un solo archivo; -k solo se puede usar cuando la salida es un archivo normal.
-nc, --no-clobber Si un archivo se descarga más de una vez en el mismo directorio, el comportamiento de wget depende de algunas opciones, incluida -nc. En ciertos casos, el archivo local se "golpeará" (se sobrescribirá), tras una descarga repetida. En otros casos se conservará. Al ejecutar wget sin -N, -nc o -r, la descarga del mismo archivo en el mismo directorio dará como resultado la preservación de la copia original del archivo y el nombre de la segunda copia. Si ese archivo se descarga nuevamente, la tercera copia se llamará file.1, y así sucesivamente. Cuando se especifica -nc, este comportamiento se suprime y wget se negará a descargar copias más nuevas del archivo. Por lo tanto, "no-clobber" es un nombre inapropiado en este modo: no se previene el clobbering (ya que los sufijos numéricos ya impedían el clobbering), sino que se está desactivando el guardado de múltiples versiones. Al ejecutar wget con -r, pero sin -N o -nc, volver a descargar un archivo dará como resultado que la nueva copia sobrescriba la anterior. Agregar -nc evitará este comportamiento, en su lugar hará que se conserve la versión original y que se ignoren las copias más nuevas en el servidor. Cuando se ejecuta wget con -N, con o sin -r, la decisión de descargar o no una copia más reciente de un archivo depende de la marca de tiempo local y remota y del tamaño del archivo. -nc puede no especificarse al mismo tiempo que -N. Tenga en cuenta que cuando se especifica -nc, los archivos con los sufijos .html o .htm se cargarán desde el disco local y se analizarán como si hubieran sido recuperados de la web.
-c, --continuar Continúa obteniendo un archivo parcialmente descargado. Esta opción es útil cuando desea finalizar una descarga iniciada por una instancia anterior de wget o por otro programa. Por ejemplo:

wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z

Si hay un archivo llamado ls-lR.Z en el directorio actual, wget asumirá que es la primera parte del archivo remoto y le pedirá al servidor que continúe la recuperación desde un desplazamiento igual a la longitud del archivo local . Tenga en cuenta que no necesita especificar esta opción si solo desea que la invocación actual de wget vuelva a intentar descargar un archivo en caso de que la conexión se pierda a mitad de camino, que es el comportamiento predeterminado. -c solo afecta la reanudación de las descargas iniciadas antes de esta invocación de wget, y cuyos archivos locales todavía están ahí. Sin -c, el ejemplo anterior solo descargaría el archivo remoto a ls-lR.Z.1, dejando solo el archivo truncado ls-lR.Z. Comenzando con wget 1.7, si usa -c en un archivo no vacío, y resulta que el servidor no admite la descarga continua, wget se negará a iniciar la descarga desde cero, lo que arruinaría efectivamente los contenidos existentes. Si realmente desea que la descarga comience desde cero, elimine el archivo. Además, comenzando con wget 1.7, si usa -c en un archivo que es del mismo tamaño que el del servidor, wget se negará a descargar el archivo e imprimirá un mensaje explicativo. Lo mismo sucede cuando el archivo es más pequeño en el servidor que localmente (presumiblemente porque se modificó en el servidor desde su último intento de descarga), porque "continuar" no es significativo, no se produce ninguna descarga. Por otro lado, al usar -c, cualquier archivo que sea más grande en el servidor que localmente se considerará una descarga incompleta y solo los bytes (longitud (remota) - longitud (local)) se descargarán y agregarán al final del local. archivo. Este comportamiento puede ser deseable en ciertos casos: por ejemplo, puede usar wget -c para descargar solo la nueva porción que se ha agregado a una recopilación de datos o archivo de registro. Sin embargo, si el archivo es más grande en el servidor porque se ha cambiado, en lugar de agregarse, terminará con un archivo ilegible. wget no tiene forma de verificar que el archivo local sea realmente un prefijo válido del archivo remoto. Debe tener especial cuidado con esto cuando utilice -c junto con -r, ya que cada archivo se considerará como un candidato de "descarga incompleta". Otra instancia en la que obtendrá un archivo ilegible si intenta usar -c es si tiene un proxy HTTP cojo que inserta una cadena de "transferencia interrumpida" en el archivo local. En el futuro, se puede agregar una opción de "reversión" para tratar este caso. Tenga en cuenta que -c solo funciona con servidores FTP y con servidores HTTP que admiten el encabezado "Rango".

--progreso = tipo Seleccione el indicador de progreso que desea usar. Los indicadores legales son "punto" y "barra". El indicador de "barra" se usa por defecto. Dibuja un gráfico de barras de progreso ASCII (también conocido como pantalla "termómetro") que indica el estado de la recuperación. Si la salida no es un TTY, la barra "punto" se usará de manera predeterminada. Use --progress = dot para cambiar a la visualización "dot". Rastrea la recuperación imprimiendo puntos en la pantalla, cada punto representa una cantidad fija de datos descargados. Al usar la recuperación punteada, también puede establecer el estilo especificando el tipo como punto: estilo. Diferentes estilos asignan diferentes significados a un punto. Con el estilo "predeterminado" cada punto representa 1 K, hay diez puntos en un grupo y 50 puntos en una línea. El estilo "binario" tiene una orientación más parecida a la "computadora": 8 puntos K, grupos de 16 puntos y 48 puntos por línea (lo que hace 384 líneas K). El estilo "mega" es adecuado para descargar archivos muy grandes; cada punto representa 6 4K recuperados, hay ocho puntos en un grupo y 48 puntos en cada línea (por lo que cada línea contiene 3 M). Tenga en cuenta que puede establecer el estilo predeterminado utilizando el comando de progreso en .wgetrc. Esa configuración puede ser anulada desde la línea de comando. La excepción es que, cuando la salida no es un TTY, el progreso del "punto" se verá favorecido sobre la "barra". Para forzar la salida de la barra, use --progress = bar: force.
-N, - marca de tiempo Encienda el sellado de tiempo. El archivo de salida tendrá una copia remota correspondiente a la marca de tiempo; Si el archivo ya existe localmente y el archivo remoto no es más nuevo, no se realizará ninguna descarga.
--no-use-server-timestamps No establezca la marca de tiempo del archivo local por la del servidor. De manera predeterminada, cuando se descarga un archivo, sus marcas de tiempo se configuran para que coincidan con las del archivo remoto, lo que permite el uso de - timestamping en invocaciones posteriores de wget. Sin embargo, a veces es útil basar la marca de tiempo del archivo local en cuándo se descargó realmente; para ese fin, se ha proporcionado la opción --no-use-server-timestamps.
-S, --server-response Imprima los encabezados enviados por los servidores HTTP y las respuestas enviadas por los servidores FTP.
--araña Cuando se invoca con esta opción, wget se comportará como una araña web, lo que significa que no descargará las páginas, solo verifique que estén allí. Por ejemplo, puede usar wget para verificar sus marcadores:

wget --spider --force-html -i bookmarks.html

Esta característica necesita mucho más trabajo para que wget se acerque a la funcionalidad de las arañas web reales.

-T segundos, --timeout = segundos Establezca el tiempo de espera de la red en segundos segundos. Esta opción es equivalente a especificar --dns-timeout, --connect-timeout y --read-timeout, todo al mismo tiempo. Al interactuar con la red, wget puede verificar el tiempo de espera y anular la operación si tarda demasiado. Esto evita anomalías como lecturas colgantes y conexiones infinitas. El único tiempo de espera habilitado por defecto es un tiempo de espera de lectura de 900 segundos. Establecer un tiempo de espera en 0 lo deshabilita por completo. A menos que sepa lo que está haciendo, es mejor no cambiar la configuración de tiempo de espera predeterminada. Todas las opciones relacionadas con el tiempo de espera aceptan valores decimales, así como valores de segundos. Por ejemplo, 0.1 segundos es una opción legal (aunque no inteligente) de tiempo de espera. Los tiempos de espera de segundos son útiles para verificar los tiempos de respuesta del servidor o para probar la latencia de la red.
--dns-timeout = segundos Establezca el tiempo de espera de búsqueda de DNS en segundos segundos. Las búsquedas de DNS que no se completen dentro del tiempo especificado fallarán. De forma predeterminada, no hay tiempo de espera en las búsquedas de DNS, aparte del implementado por las bibliotecas del sistema.
--connect-timeout = segundos Establezca el tiempo de espera de conexión en segundos segundos. Las conexiones TCP que tardan más en establecerse se cancelarán. Por defecto, no hay tiempo de espera de conexión, aparte del implementado por las bibliotecas del sistema.
--read-timeout = segundos Establezca el tiempo de espera de lectura (y escritura) en segundos segundos. Las lecturas que tardan más fallarán. El valor predeterminado para el tiempo de espera de lectura es de 900 segundos.
--limit-rate = cantidad Limite la velocidad de descarga a la cantidad de bytes por segundo. La cantidad puede expresarse en bytes, kilobytes (con el sufijo k) o megabytes (con el sufijo m). Por ejemplo, --limit-rate = 20k limitará la velocidad de recuperación a 20 KB / s. Esta opción es útil cuando, por cualquier razón, no desea que wget consuma todo el ancho de banda disponible. Esta opción permite el uso de números decimales, generalmente junto con sufijos de potencia; por ejemplo, --limit-rate = 2.5k es un valor legal. Tenga en cuenta que wget implementa la limitación durmiendo la cantidad de tiempo adecuada después de una lectura de red que tomó menos tiempo que el especificado por la velocidad. Finalmente, esta estrategia hace que la transferencia TCP se ralentice aproximadamente a la velocidad especificada. Sin embargo, puede llevar algún tiempo lograr este equilibrio, así que no se sorprenda si limitar la velocidad no funciona bien con archivos muy pequeños.
-w segundos, --wait = segundos Espere el número de segundos especificado entre las recuperaciones. Se recomienda el uso de esta opción, ya que aligera la carga del servidor al hacer que las solicitudes sean menos frecuentes. En lugar de en segundos, el tiempo puede especificarse en minutos usando el sufijo m, en horas usando el sufijo h o en días usando el sufijo d. Es útil especificar un valor grande para esta opción si la red o el host de destino están inactivos, de modo que wget pueda esperar el tiempo suficiente para esperar razonablemente que el error de la red se repare antes del reintento. El intervalo de espera especificado por esta función está influenciado por --random-wait (ver más abajo).
--waitretry = segundos Si no desea que wget espere entre cada recuperación, pero solo entre reintentos de descargas fallidas, puede usar esta opción. wget usará un retroceso lineal, esperará 1 segundo después de la primera falla en un archivo dado, luego esperará 2 segundos después de la segunda falla en ese archivo, hasta el número máximo de segundos que especifique. Por lo tanto, un valor de 10 hará que wget espere hasta (1 + 2 + ... + 10) = 55 segundos por archivo. Por defecto, wget asumirá un valor de 10 segundos.
--random-wait Algunos sitios web pueden realizar análisis de registro para identificar programas de recuperación como wget buscando similitudes estadísticamente significativas en el tiempo entre solicitudes. Esta opción hace que el tiempo entre solicitudes varíe entre 0 y 2 * segundos de espera, donde se especificó esperar usando la opción --wait, para enmascarar la presencia de wget de dicho análisis.
--no-proxy No use proxies, incluso si se define la variable de entorno * _proxy adecuada.
-Q cuota, --quota = cuota Especifique la cuota de descarga para recuperaciones automáticas. El valor se puede especificar en bytes (predeterminado), kilobytes (con sufijo k) o megabytes (con sufijo m). Tenga en cuenta que la cuota nunca afectará la descarga de un solo archivo. Entonces, si especifica wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz, se descargarán todos los ls-lR.gz. Lo mismo ocurre incluso cuando se especifican varias URL en la línea de comandos. Sin embargo, la cuota se respeta cuando se recupera recursivamente o desde un archivo de entrada. Por lo tanto, puede escribir con seguridad wget -Q2m -i sitios; la descarga se cancelará cuando se exceda la cuota. Establecer la cuota en 0 o inf limita la cuota de descarga.
--no-dns-cache Desactiva el almacenamiento en caché de las búsquedas de DNS. Normalmente, wget recuerda las direcciones que buscó desde DNS para no tener que contactar repetidamente con el servidor DNS para obtener el mismo conjunto (generalmente pequeño) de direcciones que recupera. Este caché existe solo en la memoria; una nueva ejecución de wget se pondrá en contacto con DNS nuevamente. Sin embargo, se ha informado que en algunas situaciones no es deseable almacenar en caché los nombres de host, incluso durante la duración de una aplicación de ejecución corta como wget. Con esta opción, wget emite una nueva búsqueda de DNS (más precisamente, una nueva llamada a "gethostbyname" o "getaddrinfo") cada vez que realiza una nueva conexión. Tenga en cuenta que esta opción no afectará el almacenamiento en caché que pueda realizar la biblioteca de resolución o una capa de almacenamiento en caché externa, como NSCD.
--restrict-file-names = modos Cambie qué caracteres encontrados en las URL remotas pueden aparecer en los nombres de archivos locales generados a partir de esas URL. Los caracteres que están restringidos por esta opción se escapan, es decir, se reemplazan con% HH, donde HH es el número hexadecimal que corresponde al carácter restringido. De forma predeterminada, wget escapa a los caracteres que no son válidos como parte de los nombres de archivo en su sistema operativo, así como a los caracteres de control que generalmente no se pueden imprimir. Esta opción es útil para cambiar estos valores predeterminados, ya sea porque está descargando en una partición no nativa o porque desea deshabilitar el escape de los caracteres de control. Los modos son un conjunto de valores de texto separados por comas. Los valores aceptables son unix, windows, nocontrol, ascii, minúsculas y mayúsculas. Los valores unix y windows son mutuamente excluyentes (uno anulará al otro), al igual que minúsculas y mayúsculas. Esos últimos son casos especiales, ya que no cambian el conjunto de caracteres que se escaparían, sino que obligan a las rutas de archivos locales a convertirse en mayúsculas o minúsculas. Cuando el modo se establece en unix, wget escapa del carácter / y los caracteres de control en los rangos 0-31 y 128-159. Esta opción es la predeterminada en sistemas operativos tipo Unix. Cuando el modo se establece en Windows, wget escapa a los caracteres , |, /,:,?, ", *, <,> Y los caracteres de control en los rangos 0-31 y 128-159. Además de esto, wget en modo Windows usa + en lugar de: para separar el host y el puerto en los nombres de los archivos locales, y usa @ en lugar de & para separar la parte de consulta del nombre del archivo del resto. Por lo tanto, una URL que se guardaría como www.xemacs. org: 4300 / search.pl? input = blah en modo Unix se guardaría como www.xemacs.org + 4300 / [email protected] = blah en modo Windows. Este modo es el predeterminado en Windows. Si especifica nocontrol, entonces el escape de los caracteres de control también está desactivado. Esta opción puede tener sentido cuando se descargan URL cuyos nombres contienen caracteres UTF-8, en un sistema que puede guardar y mostrar archivos en UTF-8 (algunos posibles valores de bytes utilizados en Las secuencias de bytes UTF-8 caen en el rango de valores designados por wget como "controles"). El modo ascii se usa para especificar que cualquier byte cuyos valores estén fuera del rango de Los caracteres ASCII (es decir, mayores que 127) se escaparán. Este modo puede ser útil al guardar nombres de archivos cuya codificación no coincide con la utilizada localmente.
-4, --inet4-only; -6, --inet6-solo Forzar la conexión a direcciones IPv4 o IPv6. Con --inet4-only o -4, wget solo se conectará a hosts IPv4, ignorando los registros AAAA en DNS y negándose a conectarse a las direcciones IPv6 especificadas en las URL. Por el contrario, con --inet6-only o -6, wget solo se conectará a hosts IPv6 e ignorará los registros A y las direcciones IPv4. Ninguna de las opciones debería ser necesaria normalmente. De forma predeterminada, un wget compatible con IPv6 utilizará la familia de direcciones especificada por el registro DNS del host. Si el DNS responde con direcciones IPv4 e IPv6, wget las probará en secuencia hasta que encuentre una a la que pueda conectarse. (Además, consulte la opción "--prefer-family" que se describe a continuación.) Estas opciones se pueden usar para forzar deliberadamente el uso de familias de direcciones IPv4 o IPv6 en sistemas de doble familia, generalmente para ayudar a la depuración o para tratar con una configuración de red dañada. Solo uno de --inet6-only y --inet4-only puede especificarse al mismo tiempo. Ninguna de las opciones está disponible en wget compilado sin soporte para IPv6.
--prefer-family = {none | IPv4 | IPv6} Cuando tenga la opción de varias direcciones, conéctese primero a las direcciones con la familia de direcciones especificada. El orden de dirección devuelto por DNS se utiliza sin cambios por defecto. Esto evita errores espurios e intentos de conexión al acceder a hosts que se resuelven en direcciones IPv6 e IPv4 desde redes IPv4. Por ejemplo, www.kame.net resuelve 2001: 200: 0: 8002: 203: 47ff: fea5: 3085 y 203.178.141.194. Cuando la familia preferida es "IPv4", la dirección IPv4 se usa primero; cuando la familia preferida es "IPv6", la dirección IPv6 se usa primero; Si el valor especificado es "ninguno", el orden de dirección devuelto por DNS se utiliza sin cambios. A diferencia de -4 y -6, esta opción no inhibe el acceso a ninguna familia de direcciones, solo cambia el orden en el que se accede a las direcciones. Además, tenga en cuenta que el reordenamiento realizado por esta opción es estable; no afecta el orden de las direcciones de la misma familia. Es decir, el orden relativo de todas las direcciones IPv4 y de todas las direcciones IPv6 permanece intacto en todos los casos.
--retry-connrefused Considere "conexión rechazada" un error transitorio e intente nuevamente. Normalmente, wget se da por vencido en una URL cuando no puede conectarse al sitio porque la falta de conexión se toma como una señal de que el servidor no se está ejecutando y que los reintentos no ayudarían. Esta opción es para reflejar sitios poco confiables cuyos servidores tienden a desaparecer por cortos períodos de tiempo.
--user = user, --password = contraseña Especifique el nombre de usuario y la contraseña para la recuperación de archivos FTP y HTTP. Estos parámetros pueden anularse utilizando las opciones --ftp-user y --ftp-password para las conexiones FTP y las opciones --http-user y --http-password para las conexiones HTTP.
- preguntar-contraseña Solicitar una contraseña para cada conexión establecida. No se puede especificar cuando se usa --password, porque son mutuamente excluyentes.
--no-iri Desactive el soporte internacionalizado de URI (IRI). Use --iri para encenderlo. El soporte IRI está activado por defecto. Puede establecer el estado predeterminado de compatibilidad con IRI utilizando el comando "iri" en .wgetrc. Esa configuración puede ser anulada desde la línea de comando.
- codificación local = codificación Fuerza a wget a usar la codificación como la codificación predeterminada del sistema. Eso afecta la forma en que wget convierte las URL especificadas como argumentos de la configuración regional a UTF-8 para IRI support.wget utiliza la función "nl_langinfo ()" y luego la variable de entorno "CHARSET" para obtener la configuración regional. Si falla, se utiliza ASCII. Puede establecer la codificación local predeterminada utilizando el comando "codificación local" en .wgetrc. Esa configuración puede ser anulada desde la línea de comando.
- codificación remota = codificación Fuerce wget para utilizar la codificación como la codificación del servidor remoto predeterminado. Eso afecta cómo wget convierte los URI encontrados en archivos de codificación remota a UTF-8 durante una búsqueda recursiva. Esta opción solo es útil para el soporte IRI, para la interpretación de caracteres no ASCII. Para HTTP, la codificación remota se puede encontrar en el encabezado HTTP "Content-Type" y en la metaetiqueta HTML "Content-Type http-equiv". Puede establecer la codificación predeterminada utilizando el comando "codificación remota" en .wgetrc. Esa configuración puede ser anulada desde la línea de comando.
--desconectar Fuerce wget para desvincular el archivo en lugar de bloquear el archivo existente. Esta opción es útil para descargar al directorio con enlaces duros.

Opciones de directorio

-nd, --no-directorios No cree una jerarquía de directorios al recuperar de forma recursiva. Con esta opción activada, todos los archivos se guardarán en el directorio actual, sin tropezar (si aparece un nombre más de una vez, los nombres de archivo obtendrán extensiones .n).
-X, --force-directorios Lo contrario de -nd; crear una jerarquía de directorios, incluso si no hubiera sido creado de otra manera. Por ejemplo, wget -x http://fly.srk.fer.hr/robots.txt guardará el archivo descargado en fly.srk.fer.hr/robots.txt.
-Nueva Hampshire, --no-host-directorios Inhabilite la generación de directorios con prefijo de host. Por defecto, invocar wget con -r http://fly.srk.fer.hr/ creará una estructura de directorios que comenzará con fly.srk.fer.hr/. Esta opción deshabilita tal comportamiento.
--protocol-directorios Use el nombre del protocolo como un componente de directorio de nombres de archivos locales. Por ejemplo, con esta opción, wget -r http: // host guardará en http / host / ... en lugar de solo host / ....
--cut-dirs = número Ignorar los componentes del directorio de números. Esta opción es útil para obtener un control detallado sobre el directorio donde se guardará la recuperación recursiva. Tome, por ejemplo, el directorio en ftp://ftp.xemacs.org/pub/xemacs/. Si lo recupera con -r, se guardará localmente en ftp.xemacs.org/pub/xemacs/. Si bien la opción -nH puede eliminar la parte ftp.xemacs.org/, todavía está atascado con pub / xemacs, que es donde --cut-dirs es útil; hace que wget no "vea" el número de componentes del directorio remoto. Aquí hay varios ejemplos de cómo funciona la opción --cut-dirs:

(sin opciones) ftp.xemacs.org/pub/xemacs/
-Nueva Hampshire pub / xemacs /
-nH --cut-dirs = 1 xemacs /
-nH --cut-dirs = 2 .
--cut-dirs = 1 ftp.xemacs.org/xemacs/

Si solo quiere deshacerse de la estructura de directorios, esta opción es similar a una combinación de -nd y -P. Sin embargo, a diferencia de -nd, --cut-dirs no pierde con subdirectorios; por ejemplo, con -nH --cut-dirs = 1, se colocará un subdirectorio beta / xemacs / beta, como cabría esperar.

-P prefijo, --directory-prefix = prefijo Establezca el prefijo de directorio en prefijo. El prefijo de directorio es el directorio donde se guardarán todos los demás archivos y subdirectorios, es decir, la parte superior del árbol de recuperación. El valor predeterminado es "." (el directorio actual).

Opciones HTTP

-E, --html-extension Si se descarga un archivo de tipo application / xhtml + xml o text / html y la URL no termina con la expresión regular ". [Hh] [Tt] [Mm] [Ll]?", Esta opción causará el sufijo. html que se agregará al nombre del archivo local. Esta opción es útil, por ejemplo, cuando está duplicando un sitio remoto que usa páginas .asp, pero quiere que las páginas duplicadas sean visibles en su servidor Apache estándar. Otro buen uso para esto es cuando estás descargando materiales generados por CGI. Una URL como http://site.com/article.cgi?25 se guardará como article.cgi? 25.html. Tenga en cuenta que los nombres de archivo modificados de esta manera se volverán a descargar cada vez que vuelva a duplicar un sitio, porque wget no puede decir que el archivo X.html local corresponde a la URL X remota (ya que aún no sabe que el URL produce resultados de tipo texto / html o aplicación / xhtml + xml). A partir de la versión 1.12, wget también se asegurará de que los archivos descargados de tipo text / css terminen en el sufijo .css, y la opción se renombró de --html-extension, para reflejar mejor su nuevo comportamiento. El nombre de la opción anterior sigue siendo aceptable, pero ahora debe considerarse obsoleto. En algún momento en el futuro, esta opción puede expandirse para incluir sufijos para otros tipos de contenido, incluidos los tipos de contenido que wget no analiza.
--http-user = usuario, --http-passwd = contraseña Especifique el nombre de usuario y la contraseña en un servidor HTTP. Según el desafío, wget los codificará utilizando el esquema de autenticación "básico" (inseguro) o "resumido". Otra forma de especificar nombre de usuario y contraseña es en la propia URL. Cualquiera de los métodos revela su contraseña a cualquiera que se moleste en ejecutar ps. Para evitar que se vean las contraseñas, guárdelas en .wgetrc o .netrc, y asegúrese de proteger esos archivos de otros usuarios con chmod. Si las contraseñas son importantes, tampoco las deje en esos archivos; edite los archivos y elimínelos después de que wget haya comenzado la descarga.
--no-cache Deshabilitar caché del lado del servidor. En este caso, wget enviará al servidor remoto una directiva apropiada (Pragma: no-cache) para obtener el archivo del servicio remoto, en lugar de devolver la versión en caché. Esta opción es especialmente útil para recuperar y vaciar documentos desactualizados en servidores proxy. El almacenamiento en caché está permitido de forma predeterminada.
--no galletas Deshabilitar el uso de cookies. Las cookies son un mecanismo para mantener el estado del lado del servidor. El servidor envía una cookie al cliente utilizando el encabezado "Set-Cookie", y el cliente responde con la misma cookie ante otras solicitudes. Dado que las cookies permiten a los propietarios del servidor realizar un seguimiento de los visitantes y que los sitios intercambien esta información, algunos los consideran una violación de la privacidad. El valor predeterminado es usar cookies; sin embargo, el almacenamiento de cookies no está activado de manera predeterminada.
- cargar el archivo de cookies Cargue cookies del archivo antes de la primera recuperación HTTP. El archivo es un archivo de texto en el formato utilizado originalmente por el archivo cookies.txt de Netscape. Por lo general, utilizará esta opción cuando refleje sitios que requieren que inicie sesión para acceder a parte o la totalidad de su contenido. El proceso de inicio de sesión generalmente funciona cuando el servidor web emite una cookie HTTP al recibir y verificar sus credenciales. El navegador vuelve a enviar la cookie cuando accede a esa parte del sitio, y así demuestra su identidad. Duplicar un sitio de este tipo requiere que wget envíe las mismas cookies que envía su navegador cuando se comunica con el sitio. Para hacer esto use --load-cookies; apunte wget a la ubicación del archivo cookies.txt, y enviará las mismas cookies que su navegador enviaría en la misma situación. Diferentes navegadores mantienen archivos de cookies de texto en diferentes ubicaciones:

Netscape 4.x Las cookies están en ~ / .netscape / cookies.txt.
Mozilla y Netscape 6.x El archivo de cookies de Mozilla también se llama cookies.txt, ubicado en algún lugar debajo de ~ / .mozilla, en el directorio de su perfil. La ruta completa generalmente termina pareciéndose a ~ / .mozilla / default / some-weird-string / cookies.txt.
Internet Explorer Puede generar un archivo de cookies que wget puede usar utilizando el menú Archivo, Importar y Exportar, Exportar Cookies. Probado con Internet Explorer 5 (wow. Eso es viejo), pero no se garantiza que funcione con versiones anteriores.
otros navegadores Si está utilizando un navegador diferente para crear sus cookies, --load-cookies solo funcionará si puede ubicar o producir un archivo de cookies en el formato Netscape que wget espera.

Si no puede usar --load-cookies, aún podría existir una alternativa. Si su navegador admite un "administrador de cookies", puede usarlo para ver las cookies utilizadas al acceder al sitio que está duplicando. Escriba el nombre y el valor de la cookie e indique manualmente a wget que envíe esas cookies, evitando el soporte de cookies "oficial":

wget --no-cookies --header "Cookie: <name> = <value>"
- archivo de guardar cookies Guarde las cookies en el archivo antes de salir. Esto no guardará las cookies que han caducado o que no tienen tiempo de caducidad (las llamadas "cookies de sesión"), sino que también verá --keep-session-cookies.
--keke-session-cookies Cuando se especifica, --save-cookies también guarda las cookies de sesión. Las cookies de sesión normalmente no se guardan porque deben guardarse en la memoria y olvidarse cuando salga del navegador. Guardarlos es útil en sitios que requieren que inicie sesión o visite la página de inicio antes de poder acceder a algunas páginas. Con esta opción, varias ejecuciones de wget se consideran una sola sesión de navegador en lo que respecta al sitio. Dado que el formato de archivo de cookies normalmente no contiene cookies de sesión, wget las marca con una marca de tiempo de vencimiento de 0. wget's --load-cookies las reconoce como cookies de sesión, pero puede confundir a otros navegadores. Además, tenga en cuenta que las cookies así cargadas se tratarán como otras cookies de sesión, lo que significa que si desea --save-cookies para preservarlas nuevamente, debe usar --keep-session-cookies nuevamente.
- ignorar la longitud Desafortunadamente, algunos servidores HTTP (programas CGI, para ser más precisos) envían encabezados falsos "Content-Length", lo que hace que wget empiece a rebuznar como un cerdo atascado, ya que cree que no se recuperó todo el documento. Puede detectar este síndrome si wget vuelve a intentar obtener el mismo documento una y otra vez, cada vez que afirma que la conexión (de lo contrario normal) se ha cerrado en el mismo byte. Con esta opción, wget ignora el encabezado "Content-Length", como si nunca hubiera existido.
--header = línea de encabezado Envíe la línea de encabezado junto con el resto de los encabezados en cada solicitud HTTP. El encabezado proporcionado se envía tal cual, lo que significa que debe contener el nombre y el valor separados por dos puntos, y no debe contener nuevas líneas. Puede definir más de un encabezado adicional especificando --header más de una vez.

wget --header = 'Aceptar-Juego de caracteres: iso-8859-2' --header = 'Aceptar-Idioma: hr' http://fly.srk.fer.hr/

La especificación de una cadena vacía como el valor del encabezado borrará todos los encabezados definidos por el usuario anteriores. A partir de wget 1.10, esta opción se puede utilizar para anular los encabezados que de otro modo se generarían automáticamente. Este ejemplo indica a wget que se conecte a localhost, pero que especifique foo.bar en el encabezado "Host":

wget --header = "Host: foo.bar" http: // localhost /

En versiones de wget anteriores a 1.10, el uso de --header provocó el envío de encabezados duplicados.

--max-redirect = número Especifica el número máximo de redirecciones a seguir para un recurso. El valor predeterminado es 20, que generalmente es mucho más de lo necesario. Sin embargo, en aquellas ocasiones en las que desea permitir más (o menos), esta es la opción para usar.
--proxy-user = usuario, --proxy-password = contraseña Especifique el nombre de usuario y la contraseña para la autenticación en un servidor proxy. wget los codificará utilizando el esquema de autenticación "básico". Las consideraciones de seguridad similares a las de --http-password también pertenecen aquí.
--referer = url Incluya el encabezado "Referer: url" en la solicitud HTTP. Útil para recuperar documentos con procesamiento del lado del servidor que asumen que siempre son recuperados por navegadores web interactivos y solo salen correctamente cuando Referer está configurado en una de las páginas que apuntan a ellos.
--save-headers Guarde los encabezados enviados por el servidor HTTP en el archivo, precediendo el contenido real, con una línea vacía como separador.
-U agente-cadena, --user-agent = agent-string Identifíquese como cadena de agente para el servidor HTTP. El protocolo HTTP permite a los clientes identificarse utilizando un campo de encabezado "User-Agent". Esto permite distinguir el software WWW, generalmente con fines estadísticos o para rastrear violaciones de protocolos. wget normalmente se identifica como "Wget / versión", siendo la versión el número de versión actual de wget. Sin embargo, se sabe que algunos sitios imponen la política de adaptar el resultado de acuerdo con la información suministrada por "User-Agent". Si bien, en teoría, esta no es una mala idea, ha sido abusada por servidores que niegan información a clientes que no sean (históricamente) Netscape o, más frecuentemente, Microsoft Internet Explorer. Esta opción le permite cambiar la línea "User-Agent" emitida por wget. Se desaconseja el uso de esta opción, a menos que realmente sepa lo que está haciendo. La especificación de un agente de usuario vacío con --user-agent = "" indica a wget que no envíe el encabezado "User-Agent" en las solicitudes HTTP.
--post-data = string, --post-file = file Utilice POST como método para todas las solicitudes HTTP y envíe los datos especificados en el cuerpo de la solicitud. --post-data envía una cadena como datos, mientras que --post-file envía el contenido del archivo. Aparte de eso, funcionan exactamente de la misma manera. En particular, ambos esperan contenido de la forma "clave1 = valor1 y clave2 = valor2", con codificación porcentual para caracteres especiales; La única diferencia es que uno espera su contenido como un parámetro de línea de comandos y el otro acepta su contenido de un archivo. En particular, --post-file no es para transmitir archivos como archivos adjuntos de formularios: deben aparecer como datos "clave = valor" (con codificación porcentual apropiada) como todo lo demás. Actualmente, wget no admite "datos multiparte / formulario" para transmitir datos POST; solo "application / x-www-form-urlencoded". Solo se debe especificar uno de --post-data y --post-file. Tenga en cuenta que wget necesita saber el tamaño de los datos POST de antemano. Por lo tanto, el argumento de "--post-file" debe ser un archivo normal; especificar un FIFO o algo así como / dev / stdin no funcionará. No está del todo claro cómo solucionar esta limitación inherente a HTTP / 1.0. Aunque HTTP / 1.1 introduce una transferencia fragmentada que no requiere conocer de antemano la longitud de la solicitud, un cliente no puede utilizar la fragmentación a menos que sepa que está hablando con un servidor HTTP / 1.1. Y no puede saberlo hasta que reciba una respuesta, lo que a su vez requiere que la solicitud se haya completado, lo cual es una especie de problema de huevo y gallina. Tenga en cuenta que si wget se redirige después de completar la solicitud POST, no enviará los datos POST a la URL redirigida. Debido a que las URL que procesan POST a menudo responden con una redirección a una página normal, que no desea ni acepta POST. No está completamente claro que este comportamiento sea óptimo; Si no funciona, podría cambiarse en el futuro. Este ejemplo muestra cómo iniciar sesión en un servidor usando POST y luego proceder a descargar las páginas deseadas, presumiblemente solo accesibles para usuarios autorizados. Primero, iniciamos sesión en el servidor, lo que se puede hacer solo una vez.

wget --save-cookies cookies.txt --post-data 'user = foo & password = bar' http://server.com/auth.php

Y luego tomamos la página (o páginas) que nos interesan:

wget --load-cookies cookies.txt -p http://server.com/interesting/article.php

Si el servidor usa cookies de sesión para rastrear la autenticación del usuario, lo anterior no funcionará porque --save-cookies no las guardará (y tampoco los navegadores) y el archivo cookies.txt estará vacío. En ese caso, use --keep-session-cookies junto con --save-cookies para forzar el guardado de las cookies de sesión.

- disposición de contenido Si esto está configurado, se habilita el soporte experimental (no completamente funcional) para los encabezados de "Disposición de contenido". Actualmente, esta opción puede generar viajes de ida y vuelta adicionales al servidor para una solicitud "HEAD", y se sabe que presenta algunos errores, por lo que actualmente no está habilitada de forma predeterminada. Esta opción es útil para algunos programas CGI de descarga de archivos que usan encabezados de "Disposición de contenido" para describir cuál debería ser el nombre de un archivo descargado.
--trust-server-names Si esto está configurado, en una redirección, el último componente de la URL de redirección se usará como el nombre del archivo local. Por defecto, se utiliza el último componente en la URL original.
--auth-no-challenge Si se da esta opción, wget enviará información básica de autenticación HTTP (nombre de usuario y contraseña de texto sin formato) para todas las solicitudes, tal como lo hizo wget 1.10.2 y anteriores de forma predeterminada. No se recomienda el uso de esta opción, y está destinado solo a admitir algunos servidores oscuros, que nunca envían desafíos de autenticación HTTP, pero aceptan información de autenticación no solicitada, por ejemplo, además de la autenticación basada en formularios.

Opciones HTTPS (SSL / TLS)

Para admitir descargas HTTP cifradas (HTTPS), wget debe compilarse con una biblioteca SSL externa, actualmente OpenSSL. Si wget se compila sin soporte SSL, ninguna de estas opciones está disponible.

--secure-protocol = protocolo Elija el protocolo seguro que se utilizará. Los valores legales son auto, SSLv2, SSLv3 y TLSv1. Si se usa auto, la biblioteca SSL tiene la libertad de elegir el protocolo apropiado automáticamente, lo que se logra enviando un saludo SSLv2 y anunciando soporte para SSLv3 y TLSv1, que es el valor predeterminado. Especificar SSLv2, SSLv3 o TLSv1 obliga al uso del protocolo correspondiente. Esta opción es útil cuando se habla de implementaciones de servidores SSL antiguas y con errores que dificultan que OpenSSL elija la versión de protocolo correcta. Afortunadamente, estos servidores son bastante raros.
--no-cheque-certificado No verifique el certificado del servidor con las autoridades de certificación disponibles. Además, no requiera que el nombre de host de la URL coincida con el nombre común presentado por el certificado. A partir de wget 1.10, el valor predeterminado es verificar el certificado del servidor contra las autoridades de certificación reconocidas, rompiendo el protocolo de enlace SSL y abortando la descarga si la verificación falla. Aunque esto proporciona descargas más seguras, rompe la interoperabilidad con algunos sitios que funcionaban con versiones anteriores de wget, particularmente aquellos que usan certificados autofirmados, caducados o de otra manera inválidos. Esta opción fuerza un modo de operación "inseguro" que convierte los errores de verificación del certificado en advertencias y le permite continuar. Si encuentra errores de "verificación de certificado" o que dicen que "el nombre común no coincide con el nombre de host solicitado", puede usar esta opción para omitir la verificación y continuar con la descarga. Solo use esta opción si está convencido de la autenticidad del sitio o si realmente no le importa la validez de su certificado. Casi siempre es una mala idea no verificar los certificados al transmitir datos confidenciales o importantes.
--certificate = archivo Use el certificado del cliente almacenado en el archivo. Esta información es necesaria para los servidores que están configurados para requerir certificados de los clientes que se conectan a ellos. Normalmente no se requiere un certificado y este interruptor es opcional.
--certificate-type = type Especifique el tipo de certificado del cliente. Los valores legales son PEM (asumido por defecto) y DER, también conocido como ASN1.
--private-key = archivo Lea la clave privada del archivo. Esta opción le permite proporcionar la clave privada en un archivo separado del certificado.
--private-key-type = type Especifique el tipo de la clave privada. Los valores aceptados son PEM (el valor predeterminado) y DER.
--ca-certificate = archivo Use el archivo como el archivo con el paquete de autoridades de certificación ("CA") para verificar los pares. Los certificados deben estar en formato PEM. Sin esta opción, wget busca certificados de CA en las ubicaciones especificadas por el sistema, elegidas en el momento de la instalación de OpenSSL.
--ca-directorio = directorio Especifica el directorio que contiene los certificados de CA en formato PEM. Cada archivo contiene un certificado de CA y el nombre del archivo se basa en un valor hash derivado del certificado. Esto se logra procesando un directorio de certificados con la utilidad "c_rehash" suministrada con OpenSSL. El uso de --ca-directory es más eficiente que --ca-certificate cuando se instalan muchos certificados, ya que permite que Wget obtenga certificados a pedido. Sin esta opción, wget busca certificados de CA en las ubicaciones especificadas por el sistema, elegidas en el momento de la instalación de OpenSSL.
--random-file = file Use el archivo como fuente de datos aleatorios para sembrar el generador de números pseudoaleatorios en sistemas sin / dev / random. En tales sistemas, la biblioteca SSL necesita una fuente externa de aleatoriedad para inicializarse. La aleatoriedad puede ser proporcionada por EGD (ver --egd-file a continuación) o leer desde una fuente externa especificada por el usuario. Si no se especifica esta opción, wget busca datos aleatorios en $ RANDFILE o, si no está configurado, en $ HOME / .rnd. Si ninguno de esos está disponible, es probable que el cifrado SSL no sea utilizable. Si obtiene el mensaje "No se pudo inicializar OpenSSL PRNG; deshabilitar SSL". error, debe proporcionar datos aleatorios utilizando algunos de los métodos descritos anteriormente.
--egd-file = file Use el archivo como el socket EGD. EGD significa Entropy Gathering Daemon, un programa de espacio de usuario que recopila datos de varias fuentes de sistemas impredecibles y los pone a disposición de otros programas que puedan necesitarlos. El software de cifrado, como la biblioteca SSL, necesita fuentes de aleatoriedad no repetitiva para sembrar el generador de números aleatorios utilizado para producir claves criptográficamente seguras. OpenSSL permite al usuario especificar su propia fuente de entropía utilizando la variable de entorno "RAND_FILE". Si esta variable no está establecida, o si el archivo especificado no produce suficiente aleatoriedad, OpenSSL leerá datos aleatorios del socket EGD especificado con esta opción. Si no se especifica esta opción (y no se utiliza el comando de inicio equivalente), nunca se contacta con EGD. EGD no es necesario en los sistemas Unix modernos que admiten / dev / random.

Opciones de FTP

--ftp-user = usuario, --ftp-contraseña = contraseña Especifique el nombre de usuario y la contraseña en un servidor FTP. Sin esto, o la opción de inicio correspondiente, la contraseña por defecto es [correo electrónico protegido], normalmente utilizada para FTP anónimo. Otra forma de especificar nombre de usuario y contraseña es en la propia URL. Cualquiera de los métodos revela su contraseña a cualquiera que se moleste en ejecutar ps. Para evitar que se vean las contraseñas, guárdelas en .wgetrc o .netrc, y asegúrese de proteger esos archivos de otros usuarios con chmod. Si las contraseñas son importantes, tampoco las deje en esos archivos; edite los archivos y elimínelos después de que wget haya comenzado la descarga.
--no-remove-listing No elimine los archivos .listing temporales generados por las recuperaciones de FTP. Normalmente, estos archivos contienen las listas de directorio sin formato recibidas de los servidores FTP. No eliminarlos puede ser útil para fines de depuración, o cuando desee poder verificar fácilmente el contenido de los directorios del servidor remoto (por ejemplo, para verificar que un espejo que está ejecutando esté completo). Tenga en cuenta que a pesar de que wget escribe en un nombre de archivo conocido para este archivo, este no es un agujero de seguridad en el caso de que un usuario haga una lista de un enlace simbólico a / etc / passwd o algo así y le pida a root que ejecute wget en su directorio. Dependiendo de las opciones utilizadas, wget se negará a escribir en .listing, haciendo que falle la operación de globo / recursión / sellado de tiempo, o el enlace simbólico se eliminará y se reemplazará con el archivo .listing real, o la lista se escribirá a un archivo .listing.number. Aunque esta situación no es un problema, la raíz nunca debe ejecutar wget en el directorio de un usuario no confiable. Un usuario podría hacer algo tan simple como vincular index.html a / etc / passwd y pedirle a root que ejecute wget con -N o -r para que el archivo se sobrescriba.
--no-glob Desactiva el globbing FTP. Globbing se refiere al uso de caracteres especiales tipo shell (comodines), como *,?, [Y] para recuperar más de un archivo del mismo directorio a la vez, como:

wget ftp://gnjilux.srk.fer.hr/*.msg

De forma predeterminada, el globbing se activará si la URL contiene un carácter globbing. Esta opción se puede usar para activar o desactivar el bloqueo de forma permanente. Puede que tenga que citar la URL para evitar que su shell la expanda. Globbing hace que wget busque una lista de directorios, que es específica del sistema. Es por eso que actualmente solo funciona con servidores FTP de Unix (y los que emulan la salida de Unix ls).

--no-pasivo-ftp Desactive el uso del modo de transferencia pasiva de FTP. El FTP pasivo exige que el cliente se conecte al servidor para establecer la conexión de datos en lugar de al revés. Si la máquina está conectada a Internet directamente, tanto el FTP pasivo como el activo deberían funcionar igual de bien. Detrás de la mayoría de las configuraciones de firewall y NAT, el FTP pasivo tiene una mejor oportunidad de funcionar. Sin embargo, en algunas configuraciones de firewall poco comunes, el FTP activo realmente funciona cuando el FTP pasivo no lo hace. Si sospecha que este es el caso, use esta opción o configure "passive_ftp = off" en su archivo de inicio.
--retr-symlinks Por lo general, cuando se recuperan directorios FTP de forma recursiva y se encuentra un enlace simbólico, el archivo vinculado no se descarga. En cambio, se crea un enlace simbólico coincidente en el sistema de archivos local. El archivo señalado no se descargará a menos que esta recuperación recursiva lo haya encontrado por separado y lo haya descargado de todos modos. Sin embargo, cuando se especifica --retr-symlinks, se atraviesan los enlaces simbólicos y se recuperan los archivos apuntados. En este momento, esta opción no hace que wget atraviese enlaces simbólicos a directorios y se repita a través de ellos, pero en el futuro debería mejorarse para hacerlo. Tenga en cuenta que al recuperar un archivo (no un directorio) porque se especificó en la línea de comandos, en lugar de porque se recursó, esta opción no tiene efecto. Los enlaces simbólicos siempre se atraviesan en este caso.

Opciones de recuperación recursiva

-r, --recursivo Activa la recuperación recursiva.
-l profundidad, - nivel = profundidad Especifique la recursividad profundidad máxima nivel profundidad. La profundidad máxima predeterminada es 5.
--delete-after Esta opción le dice a wget que elimine todos los archivos que descarga, después de haberlo hecho. Es útil para buscar previamente páginas populares a través de un proxy, por ejemplo:

wget -r -nd --delete-after http://whatever.com/~popular/page/

La opción -r es recuperar de forma recursiva y -nd para no crear directorios. Tenga en cuenta que --delete-after elimina archivos en la máquina local. No emite el comando DELE FTP a sitios FTP remotos, por ejemplo. Además, tenga en cuenta que cuando se especifica --delete-after, --convert-links se ignora, por lo que los archivos .orig no se crean en primer lugar.

-k, --convertir-enlaces Una vez completada la descarga, convierta los enlaces en el documento para que sean adecuados para la visualización local. Esto afecta no solo a los hipervínculos visibles, sino a cualquier parte del documento que se vincule a contenido externo, como imágenes incrustadas, enlaces a hojas de estilo, hipervínculos a contenido que no sea HTML, etc. Tenga en cuenta que cuando se especifica --output-document, --convert-links se ignora. Cada enlace se cambiará de una de las dos maneras: 1. Los enlaces a los archivos descargados por wget se cambiarán para referirse al archivo al que apuntan como un enlace relativo. Ejemplo: si el archivo descargado /foo/doc.html enlaza con /bar/img.gif, también descargado, entonces el enlace en doc.html se modificará para que apunte a ../bar/img.gif. Este tipo de transformación funciona de manera confiable para combinaciones arbitrarias de directorios. 2. Los enlaces a los archivos que wget no ha descargado se cambiarán para incluir el nombre de host y la ruta absoluta de la ubicación a la que apuntan. Ejemplo: si el archivo descargado /foo/doc.html enlaza con /bar/img.gif (o con ../bar/img.gif), entonces el enlace en doc.html se modificará para apuntar a http: // nombre de host / bar / img.gif. Debido a esto, la navegación local funciona de manera confiable: si se descargó un archivo vinculado, el enlace se referirá a su nombre local; si no se descargó, el enlace se referirá a su dirección de Internet completa en lugar de presentar un enlace roto. El hecho de que los enlaces anteriores se conviertan en enlaces relativos garantiza que pueda mover la jerarquía descargada a otro directorio. Tenga en cuenta que solo al final de la descarga puede saber qué enlaces se han descargado. Debido a eso, el trabajo realizado por -k se realizará al final de todas las descargas.
-K, --conversión de respaldo Al convertir un archivo, haga una copia de seguridad de la versión original con un sufijo .orig. Afecta el comportamiento de -N.
-m, --mirror Active las opciones adecuadas para duplicar. Esta opción activa la recursión y el sellado de tiempo, establece una profundidad de recursión infinita y mantiene listados de directorios FTP. Actualmente es equivalente a -r -N -l inf -nr.
-pags, - requisitos de página Esta opción hace que wget descargue todos los archivos necesarios para mostrar correctamente una página HTML dada. Incluyendo cosas como imágenes en línea, sonidos y hojas de estilo referenciadas. Normalmente, al descargar una sola página HTML, no se descargan los documentos necesarios que puedan ser necesarios para mostrarla correctamente. El uso de -r junto con -l puede ayudar, pero dado que wget normalmente no distingue entre documentos externos e integrados, generalmente se dejan "documentos de hoja" que no cumplen sus requisitos. Por ejemplo, el documento 1.html contiene un < IMG> etiqueta que hace referencia a 1.gif y una etiqueta <A> que apunta al documento externo 2.html. Digamos que 2.html es similar pero que su imagen es 2.gif y está vinculada a 3.html. Digamos que esto continúa hasta algunos número arbitrariamente alto. Si uno ejecuta el comando:

wget -r -l 2 http: // <sitio> /1.html

luego se descargarán 1.html, 1.gif, 2.html, 2.gif y 3.html. Como puede ver, 3.html no tiene su requisito 3.gif porque wget cuenta el número de saltos (hasta 2) lejos de 1.html para determinar dónde detener la recursión. Sin embargo, con este comando:

wget -r -l 2 -p http: // <sitio> /1.html

se descargarán todos los archivos anteriores y el 3.gml 3.html requerido. Similar,

wget -r -l 1 -p http: // <sitio> /1.html

hará que se descarguen 1.html, 1.gif, 2.html y 2.gif. Uno podría pensar que:

wget -r -l 0 -p http: // <sitio> /1.html

descargaría solo 1.html y 1.gif, pero desafortunadamente este no es el caso, porque -l 0 es equivalente a -l inf; es decir, recursión infinita. Para descargar una sola página HTML (o un puñado de ellas, todas especificadas en la línea de comandos o en un archivo de entrada URL -i) y sus requisitos (o sus), deje fuera de -r y -l:

wget -p http: // <sitio> /1.html

Tenga en cuenta que wget se comportará como si se hubiera especificado -r, pero solo se descargará esa página y sus requisitos. No se seguirán los enlaces de esa página a documentos externos. En realidad, para descargar una sola página y todos sus requisitos (incluso si existen en sitios web separados), y asegurarse de que el lote se muestre correctamente localmente, a este autor le gusta usar algunas opciones además de -p:

wget -E -H -k -K -p http: // <sitio> / <documento>

Para finalizar este tema, vale la pena saber que la idea de wget de un enlace de documento externo es cualquier URL especificada en una etiqueta <A>, una etiqueta <AREA> o una etiqueta <LINK> que no sea "<LINK REL =" hoja de estilo " >.

- comentarios-estrictos Active el análisis estricto de los comentarios HTML. El valor predeterminado es terminar los comentarios en la primera aparición de ->. Según las especificaciones, los comentarios HTML se expresan como declaraciones SGML. La declaración es un marcado especial que comienza con <! y termina con>, como <! DOCType ...>, que puede contener comentarios entre un par de delimitadores. Los comentarios HTML son "declaraciones vacías", declaraciones SGML sin texto sin comentarios. Por lo tanto, <! - foo -> es un comentario válido, y también lo es <! - one-- --two ->, pero <! - 1--2 -> no lo es. Por otro lado, la mayoría de los escritores HTML no perciben los comentarios como algo más que texto delimitado con <! - y ->, que no es exactamente lo mismo. Por ejemplo, algo como <! ------------> funciona como un comentario válido siempre que el número de guiones sea múltiplo de cuatro. Si no, el comentario técnicamente dura hasta el siguiente, que puede estar en el otro extremo del documento. Debido a esto, muchos navegadores populares ignoran por completo la especificación e implementan lo que los usuarios esperan: comentarios delimitados con <! - y ->. Hasta la versión 1.9, wget interpretaba los comentarios estrictamente, lo que resultaba en la falta de enlaces en muchas páginas web que se mostraban bien en los navegadores, pero tenían la desgracia de contener comentarios no conformes. A partir de la versión 1.9, wget se ha unido a las filas de clientes que implementan comentarios "ingenuos", terminando cada comentario en la primera aparición de ->. Si, por alguna razón, desea un análisis estricto de los comentarios, use esta opción para activarlo en.

Opciones de aceptación / rechazo recursivo

-Un acclist, - aceptar acclist; -R rejlist, - rechazar rejlist Especifique listas separadas por comas de sufijos o patrones de nombre de archivo para aceptar o rechazar. Tenga en cuenta que si alguno de los caracteres comodín, *,?, [O], aparece en un elemento de acclist o rejlist, se tratará como un patrón, en lugar de un sufijo.
-D lista de dominios, --dominios = lista de dominios Establecer dominios a seguir. lista de dominios es una lista de dominios separados por comas. Tenga en cuenta que no enciende -H.
--exclude-domains domain-list Especifique los dominios que no se deben seguir.
--follow-ftp Siga los enlaces FTP de los documentos HTML. Sin esta opción, wget ignorará todos los enlaces FTP.
--follow-tags = list wget tiene una tabla interna de pares de etiquetas / atributos HTML que considera cuando busca documentos vinculados durante una recuperación recursiva. Sin embargo, si un usuario desea que solo se considere un subconjunto de esas etiquetas, debe especificar dichas etiquetas en una lista separada por comas con esta opción.
--ignore-tags = list Esta opción es lo opuesto a la opción --follow-tags. Para omitir ciertas etiquetas HTML cuando busca documentos para descargar de forma recursiva, especifíquelos en una lista separada por comas. En el pasado, esta opción era la mejor opción para descargar una sola página y sus requisitos, usando una línea de comando como:

wget --ignore-tags = a, área -H -k -K -r http: // <sitio> / <documento>

Sin embargo, el autor de esta opción encontró una página con etiquetas como "<LINK REL =" home "HREF =" / ">" y se dio cuenta de que especificar etiquetas para ignorar no era suficiente. No se puede decirle a wget que ignore "<LINK>", porque las hojas de estilo no se descargarán. Ahora la mejor opción para descargar una sola página y sus requisitos es la opción dedicada - requisitos de página.

--ignorar caso Ignorar mayúsculas y minúsculas al hacer coincidir archivos y directorios. Esto influye en el comportamiento de las opciones -R, -A, -I y -X, así como en la implementación global al descargar desde sitios FTP. Por ejemplo, con esta opción, -A * .txt coincidirá con file1.txt, pero también file2.TXT, file3.TxT, y así sucesivamente.
-H - span-hosts Habilite la expansión entre hosts al realizar la recuperación recursiva.
-L - pariente Siga solo los enlaces relativos. Útil para recuperar una página de inicio específica sin distracciones, ni siquiera las de los mismos hosts.
-Listo, --include-directorios = lista Especifique una lista de directorios separados por comas que desea seguir al descargar. Los elementos de la lista pueden contener comodines.
-X lista, --exclude-directorios = lista Especifique una lista de directorios separados por comas que desea excluir de la descarga. Los elementos de la lista pueden contener comodines.
-np, --no-parent Nunca ascienda al directorio padre cuando recupere recursivamente. Esta opción es útil, ya que garantiza que solo se descargarán los archivos que se encuentren debajo de una determinada jerarquía.

archivos

/ etc / wgetrc Ubicación predeterminada del archivo de inicio global.
.wgetrc Archivo de inicio del usuario.

Ejemplos

wget https://www.computerhope.com/

Descargue el archivo predeterminado de la página de inicio (index.htm) de www.computerhope.com. El archivo se guardará en el directorio de trabajo.

wget --limit-rate = 200k http://www.example.org/files/archive.zip

Descargue el archivo archive.zip de www.example.org y limite el uso de ancho de banda de la descarga a 200k / s.

wget -c http://www.example.org/files/archive.zip

Descargue archive.zip de example.org, y si existe una descarga parcial en el directorio actual, reanude la descarga donde la dejó.

wget -b http://www.example.org/files/archive.zip

Descargue archive.zip en segundo plano, regresándolo al símbolo del sistema mientras tanto.

wget --spider http://www.example.org/files/archive.zip

Utiliza el modo "araña web" para verificar si existe un archivo remoto. La salida será similar a la siguiente:

Modo araña habilitado. Compruebe si existe un archivo remoto. Solicitud HTTP enviada, esperando respuesta ... 200 OK Longitud: 1206 (1.2K) [aplicación / zip] Existe un archivo remoto.
wget --mirror -p --convert-links -P ./example-mirror http://www.example.org

Descargue un espejo completo del sitio web www.example.org en la carpeta ./example-mirror para verlo localmente.

wget -Q5m http://www.example.org/files/archive.zip

Deje de descargar archive.zip una vez que se hayan transferido con éxito cinco megabytes. Esta transferencia luego se puede reanudar utilizando la opción -c.

Comandos relacionados

curl - Transfiere datos hacia o desde un servidor.

#goog-gt-tt {display:none !important;}.goog-te-banner-frame {display:none !important;}.goog-te-menu-value:hover {text-decoration:none !important;}body {top:0 !important;}#gtranslate_element {display:none!important;}

var gt_not_translated_list = ["wget http://website.com/files/file.zip","sudo apt-get install wget","-d, --debug","-q, --quiet","-v, --verbose","-F, --force-html","-nc, --no-clobber","wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z","--no-use-server-timestamps","-S, --server-response","wget --spider --force-html -i bookmarks.html","--random-wait","--no-proxy","--no-dns-cache","--retry-connrefused","--no-iri","ftp.xemacs.org/pub/xemacs/","ftp.xemacs.org/xemacs/","-E, --html-extension","--no-cache","Netscape 4.x","--save-headers","--trust-server-names","--auth-no-challenge","--no-remove-listing","--no-glob","wget ftp://gnjilux.srk.fer.hr/*.msg","--retr-symlinks","--delete-after","wget -r -nd --delete-after http://whatever.com/~popular/page/","-K,","-m, --mirror","-R rejlist","--exclude-domains domain-list","--follow-ftp","-np, --no-parent",".wgetrc","wget https://www.computerhope.com/","wget -c http://www.example.org/files/archive.zip","wget -b http://www.example.org/files/archive.zip","wget --spider http://www.example.org/files/archive.zip","wget --mirror -p --convert-links -P ./example-mirror http://www.example.org","wget -Q5m http://www.example.org/files/archive.zip"];
document.cookie = "googtrans=/en/es; domain=.balogs.xyz";
document.cookie = "googtrans=/en/es";
function GTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: 'en',layout: google.translate.TranslateElement.InlineLayout.SIMPLE,autoDisplay: false,multilanguagePage: true}, 'gtranslate_element');}