Come configurare smartphone e PC. Portale informativo

Salva il file in una cartella. Avvio utilizzando il proprio file .log

Lavorando nella console, molto spesso dobbiamo interagire con la rete, ad esempio scaricare file o intere pagine web. Se scarichiamo pagine Web abbastanza raramente, la situazione con i file è completamente diversa. Possono essere vari script, pacchetti di installazione, programmi, chiavi, elenchi di pacchetti e altro ancora. Scarica file su console LinuxÈ possibile utilizzare l'utilità wget. Lo considereremo in questo articolo.

Questo è molto potente utilità in grado di lavorare su Protocolli HTTP, HTTPS e FTP. Inoltre, è supportato il lavoro tramite un proxy. Il comando wget linux può anche scaricare file in background, senza l'intervento dell'utente, a differenza della maggior parte dei browser web.

Oltre a scaricare file, è possibile salvare pagine web o anche interi siti web, grazie alla funzione di apertura dei link nelle pagine. Questa funzionalità è anche chiamata caricamento ricorsivo. Questo è tutto ciò che considereremo nell'articolo di oggi, ma inizieremo, come sempre, con la sintassi e le opzioni di base dell'utilità.

Il comando wget linux ha una sintassi molto semplice:

$ wget url_address opzioni

Puoi specificare più di un URL di download, ma più URL contemporaneamente. Le opzioni sono facoltative, ma nella maggior parte dei casi vengono utilizzate per impostare le opzioni di avvio.

Opzioni

La sintassi dell'opzione è molto ampia. Ogni opzione di solito ha sia una lunga che una nome corto. Possono essere scritti sia prima dell'URL che dopo. Non è necessario inserire uno spazio tra l'opzione e il suo valore, ad esempio puoi scrivere -o log o -olog. Questi valori sono equivalenti. Inoltre, se le opzioni non hanno parametri, non è necessario iniziare ciascuna con un trattino, puoi scriverle tutte insieme: -drc e -d -r -c. Anche queste opzioni wget sono equivalenti.

Passiamo ora all'elenco delle opzioni. wget ha troppe opzioni, tratteremo solo quelle principali.

  • -V (--versione)- mostra la versione del programma
  • -h (--aiuto)- rilasciare un certificato
  • -B (--sfondo)- lavorare in background
  • -o file (--fuori-file)- specificare il file di registro
  • -D (--debug)- abilita la modalità di debug
  • -v (--verboso)- visualizzare le informazioni massime sul funzionamento dell'utilità
  • -q (--silenzioso)- visualizzare un minimo di informazioni sull'opera
  • -io file (--input-file)- leggi l'URL dal file
  • --force-html- leggi il file specificato nel parametro precedente come html
  • -t (--prova)- numero di tentativi di connessione al server
  • -O file (--documento-output)- il file in cui verranno salvati i dati ricevuti
  • -c (--continua)- continuare il download interrotto in precedenza
  • -S (--risposta-server)- visualizzare la risposta del server
  • --ragno- controlla se l'URL funziona
  • -T tempo (--timeout)- timeout di connessione al server
  • --limite- Limita la velocità di download
  • -w (--aspetta)- intervallo tra le richieste
  • -Q (--quota) - taglia massima download
  • -4 (--solo inet4)- usa il protocollo ipv4
  • -6 (--solo inet6)- usa il protocollo ipv6
  • -U (--agente-utente)- stringa USER AGENT inviata al server
  • -R (--ricorsivo) - funzionamento ricorsivo dell'utilità
  • -l (--livello)- profondità nella scansione ricorsiva
  • -K (--convert-links)- convertire i collegamenti in locale durante il caricamento delle pagine
  • -P (--prefisso-directory)- directory in cui verranno caricati i file
  • -m (--specchio)- scaricare il sito sulla macchina locale
  • -P (--requisiti-pagina)- durante il caricamento del sito, scaricare tutte le risorse necessarie

Ovviamente, queste non sono tutte chiavi wget, ma c'è già troppa teoria qui, ora passiamo alla pratica. Gli esempi di wget sono molto più interessanti.

Usando wget Linux

Il comando wget linux è solitamente fornito di default sulla maggior parte delle distribuzioni, ma in caso contrario può essere installato molto facilmente. Ad esempio, l'installazione con yum sarebbe simile a questa:

yum -y installa wget

E sulle distribuzioni basate su Debian:

sudo apt install wget

Passiamo ora agli esempi:

Il comando wget linux scaricherà un file e lo memorizzerà nella directory corrente. Durante il download, vedremo l'avanzamento, la dimensione del file, la data dell'ultima modifica e la velocità di download:

wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

2. Salvare il file con un nome diverso

L'opzione -O consente di specificare un nome per il file salvato, ad esempio scaricare un file wget denominato wget.zip:

wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

3. Scarica più file

Puoi scaricare più file con un comando, anche utilizzando protocolli diversi, semplicemente specificando il loro URL:

wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz ftp://ftp.gnu.org/gnu/wget/wget-1.10.1.tar.gz.sig

4. Ottieni URL dal file

wget -i /wget/tmp.txt

5. Continua il download

L'utilità wget linux è progettata per funzionare su reti lente e instabili. Pertanto, se stavi scaricando un file di grandi dimensioni e la connessione è stata persa durante il download, puoi scaricare il file wget usando l'opzione -c.

wget -c http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

L'opzione -b fa eseguire il programma in background, tutto l'output verrà scritto nel file di registro, speciali opzioni wget vengono utilizzate per configurare il file di registro:

wget -b -o ~/wget.log http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

7. Limita la velocità di download

Il comando wget linux ti consente non solo di continuare a scaricare i file, ma anche di limitare la velocità di download. C'è un'opzione --limit-rate per questo. Ad esempio, limitiamo la velocità a 100 kilobit:

wget --limit-rate=100k ftp://ftp.iinet.net.au/debian/debian-cd/8.4.0/amd64/iso-dvd/debian-8.4.0-amd64-DVD-1.iso

Qui, come in altri comandi simili, sono disponibili indici per indicare la velocità - k - kilobit, m - megabit, g - gigabit e così via.

8. Connessione login e password

Alcune risorse richiedono l'autenticazione per scaricare i propri file. Con le opzioni --http-user=username, --http-password=password e --ftp-user=username, --ftp-password=password puoi impostare un nome utente e una password per le risorse HTTP o FTP.

wget --http-user=narad --http-password=password http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso

wget --ftp-user=narad --ftp-password=password ftp://ftp.iinet.net.au/debian/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386 -DVD-1.iso

9. Scarica ed esegui

Probabilmente hai già visto tali comandi. wget ti consente di eseguire immediatamente gli script scaricati:

wget -O - http://site/script.sh | bash

Se nessun argomento viene passato all'opzione -O, il file scaricato verrà stampato sullo standard output, quindi possiamo reindirizzarlo dall'interprete bash, come mostrato sopra.

10. Salvare il file in una cartella

Per impostazione predefinita, wget salva il file in cartella corrente, ma questo comportamento è molto facile da modificare con l'opzione -P:

wget -P ~/Download/ http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

11. Passa le informazioni sul browser

Alcuni siti filtrano i bot, ma possiamo passare informazioni false sul nostro browser (user-agent) e sulla pagina da cui proveniamo (http-referer).

wget --refer=http://google.com --user-agent="Mozilla/5.0 Firefox/4.0.1" //sito web

12. Numero di tentativi di download

Per impostazione predefinita, wget tenta di ripetere il download 20 volte prima di fallire. Il numero di volte può essere modificato con l'opzione --tries:

Tutti a volte scarichiamo file da Internet. Se usi programmi per questo GUI, allora tutto risulta essere estremamente semplice. Tuttavia, quando si lavora sulla riga di comando di Linux, le cose si complicano un po'. Soprattutto - per coloro che non hanno familiarità con gli strumenti adatti. Uno di questi strumenti è l'utility wget estremamente potente, adatta a tutti i tipi di download. Portiamo alla tua attenzione dodici esempi, dopo averli analizzati, puoi padroneggiare le caratteristiche principali di wget.

$ wget https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
Dopo aver immesso tale comando, inizierà il download di Nagios Core. Durante questo processo, sarai in grado di vedere i dati sul download, ad esempio informazioni su quanti dati sono già stati scaricati, la velocità attuale e quanto tempo è rimasto fino alla fine del download.

2. Scarica il file e salvalo con un nuovo nome

Se vogliamo salvare il file scaricato con un nome diverso da quello originale, torna utile il comando wget con l'opzione -O:

$ wget -O nagios_latest https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
Con questo approccio, il file scaricato verrà salvato con il nome nagios_latest .

3. Limita la velocità di download dei file

Se necessario, la velocità di download dei file tramite wget può essere limitata. Di conseguenza, questa operazione non occuperà l'intero canale disponibile trasmissione di dati e non influirà su altri processi associati alla rete. Puoi farlo usando l'opzione --limit-rate e specificando un limite di velocità espresso in byte (come numero normale), kilobyte (aggiungendo K dopo il numero) o megabyte (M) al secondo:

$ wget --limit-rate=500K https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror =ottimo supporto
Il limite di velocità di download è impostato su 500 Kb/s.

4. Completamento di un download interrotto

Se questa operazione viene interrotta durante il download dei file, puoi riprendere il download utilizzando l'opzione -c del comando wget:

$ wget –c https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
Se questo parametro non viene utilizzato, il download del file sottoscaricato inizierà dall'inizio.

Se stai caricando un file dimensioni enormi e vuoi eseguire questa operazione in background, puoi farlo usando l'opzione -b:

$ wget –b https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia

Se disponi di un elenco di URL per i file da scaricare, ma non desideri attivare manualmente i download di tali file, puoi utilizzare l'opzione -I. Tuttavia, prima di iniziare il download, è necessario creare un file contenente tutti gli indirizzi. Ad esempio, puoi farlo con il seguente comando:

$ vi URL.txt
In questo file devi inserire gli indirizzi, uno in ogni riga. Successivamente, non resta che eseguire wget , passando a questa utility il file appena creato con un elenco di download:

$ wget -I url.txt
L'esecuzione di questo comando causerà il download di tutti i file nell'elenco uno per uno.

7. Aumento del numero totale di tentativi di download di un file

Puoi utilizzare l'opzione --tries per impostare il numero di tentativi di caricamento dei file:

wget --tries=100 https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia

Comando di caricamento file server FTP anonimo l'uso di wget assomiglia a questo:

$ wget FTP-URL
Se sono richiesti nome utente e password per accedere al file, il comando sarà simile al seguente:

$ wget --ftp-user=dan --ftp-password=********* URL-FTP

9. Crea una copia locale del sito web

Se vuoi scaricare i contenuti di un intero sito web, puoi farlo usando l'opzione --mirror:

$ wget --mirror -p --convert-links -P /home/dan xyz.com
prestare attenzione a Opzioni extra riga di comando:

  • -p: scarica tutti i file necessari per visualizzazione corretta Pagine HTML.
  • --convert-links: i collegamenti nei documenti verranno convertiti per gli scopi vista locale luogo.
  • -P /home/dan : I materiali verranno salvati nella cartella /home/dan.

10. Scaricare dal sito solo file di un certo tipo

Per scaricare solo file dal sito certo tipo, puoi usare le opzioni -r -A:

$ wget -r -A.txt URL_sito

11. Salta alcuni tipi di file

Se vuoi copiare un intero sito web, ma non hai bisogno di file di un certo tipo, puoi disabilitare il download con l'opzione --reject:

$ wget --reject=png Website_url

12. Scarica utilizzando il tuo file .log

Per caricare un file e utilizzare il proprio file .log, utilizzare l'opzione -o e specificare il nome del file di registro:

$ wget -o wgetfile.log https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia

Risultati

Wget è abbastanza facile da usare, ma abbastanza utile utilità linux. E, in effetti, quello di cui abbiamo parlato è solo una piccola parte di ciò che può fare. Ci auguriamo che questa recensione aiuti coloro che non hanno familiarità con wget ad apprezzare questo programma e forse a includerlo nel loro arsenale quotidiano di strumenti da riga di comando.

Cari lettori! Utilizzi strumenti da riga di comando? stringhe Linux caricare i file? Se sì, parlaci di loro.

JavaScript è bloccato nel tuo browser. Consenti JavaScript per il funzionamento di questo sito!

WGet è un programma per scaricare file e
scarica l'intero sito

Proveniente dal mondo Linux, l'utility gratuita Wget permette di scaricare entrambi singoli file da Internet, così come interi siti, seguendo i link nelle pagine web.

Per assistenza sulle opzioni di WGet, digita man wget su Linux o wget.exe --help su Windows.

Diciamo che vogliamo creare copia completa sito www.site.com sul tuo disco. Per fare ciò, apri la riga di comando (Wget è un'utilità della console) e scrivi il seguente comando:

Wget.exe -r -l10 -k -p -E -nc http://www.site.com WGET attraverserà in modo ricorsivo (parametro -r) directory e sottodirectory sul server remoto inclusi gli stili CSS (-k) con la massima ricorsione profondità pari a dieci (-l), quindi sostituire i link assoluti nei documenti HTML scaricati con relativi (-k) ed estensioni con html (-E) per la successiva visualizzazione locale del sito scaricato. Quando si scarica di nuovo, non ci saranno volti e i replay verranno sovrascritti (-nc). Sfortunatamente, gli stili interni e le immagini specificati negli stili non sono scaricabili.

Se intendi scaricare dal sito una directory qualsiasi (con tutte le cartelle nidificate in essa), sarebbe più logico includere il parametro -np nella riga di comando. Impedisce all'utilità di salire nella gerarchia delle directory al di sopra della directory specificata durante la ricerca di file:

Wget.exe -r -l10 -k http://www.site.com -np

Wget.exe -r -l10 -k http://www.site.com -c

Per impostazione predefinita, tutto ciò che viene scaricato viene salvato nella directory di lavoro dell'utilità. L'opzione -P ti aiuterà a determinare una posizione diversa per i file copiati:

Wget.exe -r -l10 -k http://www.site.com -P c:\internet\files

Infine, se le impostazioni di rete della tua rete richiedono l'uso di un server proxy, le sue impostazioni devono essere segnalate al programma. Centimetro.

Wget -m -k -nv -np -p --user-agent="Mozilla/5.0 (compatibile; Konqueror/3.0.0/10; Linux)" SITE_ADDRESS

Wget -i FILE

Scarica file su directory specificata(-P):

Wget -P /path/for/save ftp://ftp.example.org/some_file.iso

Utilizzo di nome utente e password su FTP/HTTP (opzione 1):

Wget ftp://login: [email protetta]/qualche_file.iso

Utilizzo di nome utente e password su FTP/HTTP (opzione 2):

Wget --user=login --password=password ftp://ftp.example.org/some_file.iso

Download in background (-b):

Wget -b ftp://ftp.example.org/some_file.iso

Continua (-c continua) a scaricare un file precedentemente scaricato in modo incompleto:

Wget -c http://example.org/file.iso

Scarica una pagina con una profondità di 10, scrivendo il log in un file di log:

Wget -r -l 10 http://example.org/ -o log

Scarica il contenuto della directory http://example.org/~luzer/my-archive/ e tutte le sue sottodirectory senza salire nella gerarchia delle directory:

Wget -r --no-parent http://example.org/~luzer/my-archive/

Per convertire i collegamenti in tutte le pagine scaricate in relative per la visualizzazione locale, è necessario utilizzare l'opzione -k:

Wget -r -l 10 -k http://example.org/

L'identificazione sul server è supportata anche:

wget --save-cookies cookies.txt --post-data "user=foo&password=bar" http://example.org/auth.php

Copia l'intero sito:

Wget -r -l0 -k http://example.org/

Ad esempio, non scaricare archivi zip:

Wget -r -R "*.zip" http://freeware.ru

Accedi e scarica il file della chiave

@echo off wget --save-cookies cookies.txt --post-data "login=YOURLOGIN&password=YOURPASSWORD" http://beta.drweb.com/files/ -O-wget --load-cookies cookies.txt "http ://beta.drweb.com/files/?p=win%%2Fdrweb32-betting.key&t=f" -O drweb32-betting.key

Attenzione! Il registro dei parametri WGet è diverso!

Chiavi di avvio di base

-V
--versione
Visualizza la versione di Wget.

-h
--aiuto
Visualizza la guida che descrive tutte le opzioni della riga di comando di Wget.

-B
--sfondo
Passare allo sfondo subito dopo il lancio. Se non viene fornito alcun file di output -o, l'output viene reindirizzato a wget-log.

-e comando
--execute comando
Esegui il comando come se facesse parte di un . Un comando eseguito in questo modo verrà eseguito dopo i comandi in .wgetrc, avendo la precedenza su di essi. Per specificare più di un comando wgetrc, utilizzare più opzioni -e.

Registrazione e chiavi del file di input

-o file di registro
--file-output=file di registro
Registra tutti i messaggi nel file di registro. Di solito i messaggi vengono emessi in errore standard.

-un file di registro
--append-output=file di registro
Aggiungi al file di registro. Come -o, solo il file di registro non viene sovrascritto, ma aggiunto. Se logfile non esiste, verrà creato un nuovo file.

-D
--debug
Abilita l'output di informazioni di debug, ad es. varie informazioni utili agli sviluppatori Wget in caso di lavoro non corretto. L'amministratore di sistema potrebbe aver scelto di compilare Wget senza il supporto per il debug, nel qual caso -d non funzionerà. Ricorda che una build abilitata al debug è sempre sicura: Wget non genererà informazioni di debug a meno che non venga esplicitamente richiesto con -d.

-Q
--calmatevi
Disattiva l'output di Wget.

-v
--verboso
Include output dettagliato da tutti informazioni possibili. Impostato per impostazione predefinita.

-nv
--non dettagliato
Output dettagliato: disattiva la verbosità, ma non si interrompe affatto (usa -q per questo), vengono visualizzati messaggi di errore e informazioni di base.

-io file
--file-input=file
Leggere l'URL dal file del file di input, nel qual caso non è necessario specificare l'URL sulla riga di comando. Se gli URL sono specificati sulla riga di comando e file di input, verranno richiesti prima gli indirizzi dalla riga di comando. Il file non dovrebbe (ma potrebbe) esserlo documento HTML- è sufficiente un elenco coerente di URL. Tuttavia, se viene specificato --force-html, il file di input verrà trattato come html. In questo caso potrebbero esserci problemi con i relativi link, risolvibili specificando all'interno di un file di input o --base=url sulla riga di comando.

-F
--force-html
Quando si legge un elenco di indirizzi da un file, imposta il formato del file su HTML. Ciò consente il download tramite collegamenti relativi in ​​un file HTML locale specificando all'interno di un file di input o --base=url sulla riga di comando.

-B URL
--base=URL
Usato insieme a -F per aggiungere l'URL all'inizio link relativi nel file di input fornito da -i.

Scarica chiavi

--bind-address=INDIRIZZO
Quando si aprono connessioni TCP/IP client bind() su ADDRESS macchina locale. L'INDIRIZZO può essere sotto forma di nome host o indirizzo IP. Questa chiave può essere utile se alla macchina sono stati assegnati più indirizzi IP.

-t numero
--tries=numero
Imposta il numero di tentativi su numero. Specificando 0 o inf corrispondenze un numero infinito tentativi. Il valore predefinito è 20, eccetto errori critici come "connessione rifiutata" o "file non trovato" (404), in cui i tentativi non vengono ripresi.

-O file
--output-documento=file
I documenti non vengono salvati nei rispettivi file, ma vengono concatenati in un file denominato file. Se il file esiste già, verrà sovrascritto. Se il file è impostato su -, i documenti verranno inviati allo standard output (sovrascrivendo -k). Si noti che la combinazione con -k è normalmente definita solo per scaricare un singolo documento.

-nc
--no-clobber
Se un file viene scaricato più di una volta nella stessa directory, il comportamento di Wget è determinato da diverse opzioni, tra cui -nc. In alcuni casi, il file locale verrà sovrascritto o sovrascritto durante il nuovo download, in altri verrà salvato.
Quando si esegue Wget senza -N, -nc o -r, il download dello stesso file nella stessa directory fa sì che la copia originale del file venga conservata e nuova copia viene scritto con il nome file.1. Se il file viene scaricato di nuovo, la terza copia sarà denominata file.2 e così via. Se viene specificata l'opzione -nc, questo comportamento viene soppresso, Wget rifiuterà di scaricare nuove copie del file. Quindi "no-clobber" è un termine improprio questa modalità- non viene impedita la sovrascrittura dei file (suffissi digitali già impediti la sovrascrittura), ma la creazione di più copie.
Quando si esegue Wget con l'opzione -r, ma senza -N o -nc, il download di un file sovrascrive quello vecchio. L'aggiunta di -nc impedisce questo comportamento mantenendo le versioni originali dei file e ignorando eventuali nuove versioni sul server.
Quando si esegue Wget con l'opzione -N, con o senza -r, la decisione di scaricare nuova versione file dipende dai timestamp locali e remoti e dalle dimensioni del file. -nc non può essere specificato con -N.
Se specifichi -nc, i file con estensione .html e .htm verranno caricati da disco locale e trattati come se fossero stati scaricati dalla rete.

-C
--Continua
Continua a scaricare un file parzialmente scaricato. Ciò è utile quando è necessario terminare un download avviato da un altro processo Wget o da un altro programma. Ad esempio:

Wget -c ftp://site/ls-lR.Z

Se è presente un file ls-lR.Z nella directory corrente, Wget lo tratterà come la prima parte del file remoto e chiederà al server di continuare il download con un rientro dall'inizio uguale alla lunghezza del file locale.

Non è necessario specificare questa opzione affinché il processo Wget corrente continui a scaricare se la connessione viene interrotta a metà. Questo è il comportamento originale. -c influisce solo sui download avviati prima del processo Wget corrente se esistono già file locali.

Senza -c, l'esempio precedente salverà il file eliminato in ls-lR.Z.1, lasciando ls-lR.Z invariato.

A partire da Wget 1.7, quando si utilizza -c con un file non vuoto, Wget rifiuterà di avviare il download dall'inizio se il server non supporta il download. ciò comporterebbe la perdita dei dati scaricati. Elimina il file se desideri riavviare il download.

Anche da Wget 1.7, quando si usa -c su un file uguale lunghezza file sul server, Wget rifiuterà di scaricare e visualizzerà un messaggio esplicativo. Lo stesso accade se il file remoto è più piccolo di quello locale (forse è stato modificato sul server dal precedente tentativo) - perché. "continuazione" in questo caso inutile, nessun download.

D'altra parte, quando si usa -c, il file locale sarà considerato sottoscaricato se la lunghezza del file remoto è maggiore della lunghezza di quello locale. In questo caso, i byte (length(remote) - length(local)) verranno scaricati e incollati alla fine del file locale. Questo è il comportamento previsto in alcuni casi: ad esempio, puoi usare -c per scaricare una nuova parte dei dati raccolti o un file di registro.

Tuttavia, se il file sul server è stato modificato e non solo aggiunto, otterrai un file danneggiato. Wget non ha meccanismi per verificare se un file locale è l'inizio di un file remoto. Prestare particolare attenzione quando si usa -c con -r, as ogni file sarà considerato sottoscaricato.

È anche possibile ottenere un file danneggiato quando si utilizza -c con un proxy HTTP storto, che aggiunge la riga "download interrotto". Nelle versioni future, è possibile aggiungere una chiave di "rollback" per risolvere questi casi.

L'opzione -c può essere utilizzata solo con server FTP e HTTP che supportano l'intestazione Range.

--progress=tipo
Selezione del tipo di indicatore di avanzamento. Possibili valori: "punto" e "barra".
L'indicatore di tipo "barra" viene utilizzato per impostazione predefinita. Visualizza una barra di avanzamento ASCII del download (il cosiddetto "termometro"). Se l'uscita non è in TTY, il tipo di indicatore predefinito è "punto".
Per passare alla modalità "punto", specifica --progress=punto. L'avanzamento del download viene monitorato e visualizzato sotto forma di punti, dove ogni punto rappresenta una quantità fissa di dati scaricati.
Con l'iniezione di punti, puoi modificare lo stile dell'output specificando dot:style. Stili diversi definiscono significato diverso per un punto. Per impostazione predefinita, un punto rappresenta 1K, 10 punti formano un cluster, 50 punti per riga. Lo stile binario è più orientato al "computer": 8 K per punto, 16 punti per cluster e 48 punti per riga (384 K per riga). Lo stile mega è più adatto per il download molto file di grandi dimensioni- ogni punto corrisponde a 64K, 8 punti per cluster e 48 punti per linea (la linea corrisponde a 3M).
Lo stile predefinito può essere impostato tramite .wgetrc. Questa impostazione può essere ignorata dalla riga di comando. L'eccezione è che "punto" ha la precedenza su "barra" se l'output non è in un TTY. Per utilizzare sempre la barra, specificare --progress=bar:force.

-N
--timestamp
Consente l'uso di timestamp.

-S
--risposta del server
Visualizza le intestazioni del server HTTP e le risposte del server FTP.

--ragno
Quando viene eseguito con questa chiave, Wget si comporta come uno spider di rete, non scarica le pagine, ma le controlla solo. Ad esempio, utilizzando Wget, puoi controllare i segnalibri:

Wget --spider --force-html -i bookmarks.html

Questa funzionalità richiede molto lavoro per ottenere Wget per ottenere la funzionalità di veri web spider.

-T secondi
--timeout=secondi
Imposta il timeout di rete su secondi secondi. Equivale a specificare contemporaneamente --dns-timeout, --connect-timeout e --read-timeout.
Quando Wget si connette o legge da un host remoto, controlla il timeout e interrompe l'operazione alla scadenza. Ciò previene anomalie come letture bloccate o tentativi di connessione infiniti. L'unico timeout predefinito è il timeout di lettura di 900 secondi. L'impostazione del timeout su 0 annulla i controlli.
Se non sai esattamente cosa stai facendo, è meglio non impostare alcun valore per le chiavi di timeout.

--dns-timeout=secondi
Imposta il timeout per Query DNS in secondi secondi. In corso nel tempo specificato Le query DNS avranno esito negativo. Per impostazione predefinita, non è impostato alcun timeout per le query DNS, a parte i valori definiti dalle librerie di sistema.

--connect-timeout=secondi
Imposta il timeout di connessione su secondi secondi. Connessioni TCP l'installazione che richiede più tempo verrà annullata. Per impostazione predefinita, non è impostato alcun timeout di connessione, ad eccezione dei valori definiti dalle librerie di sistema.

--read-timeout=secondi
Imposta il timeout di lettura (e scrittura) su secondi secondi. La lettura che richiede più tempo non avrà successo. Il valore predefinito è 900 secondi.

--limit-rate=importo
Imposta il limite di velocità di download sulla quantità di byte al secondo. Il valore può essere espresso in byte, kilobyte con suffisso k o megabyte con suffisso m. Ad esempio, --limit-rate=20k imposterà il limite della velocità di download a 20 KB/s. Questa limitazione è utile se, per qualsiasi motivo, non si desidera che Wget consumi tutta la larghezza di banda disponibile. Wget implementa il limite tramite sleep on tempo richiesto dopo una lettura di rete che ha richiesto meno tempo del limite. Di conseguenza, una tale strategia porta a un rallentamento della velocità. Trasferimento TCP fino al limite specificato. Tuttavia, per trovare un equilibrio, certo tempo, quindi non sorprenderti se il limite non funziona bene per file di piccole dimensioni.

-w secondi
--wait=secondi
Attendi il numero specificato di secondi secondi tra i download. Si consiglia di utilizzare questa funzione per ridurre il carico sul server riducendo la frequenza delle richieste. Invece di secondi, il tempo può essere specificato in minuti con un suffisso m, ore con un suffisso h o giorni con un suffisso d.
indicazione di grande importanza utile se la rete o l'host di destinazione non è disponibile in modo che Wget attenda abbastanza tempo per risolvere i problemi di rete prima di riprovare.

--cameriere=secondi
Se non vuoi che Wget attenda tra diversi download, ma solo tra tentativi di download interrotti, puoi utilizzare questa opzione. Wget si fermerà in modo lineare, aspettando 1 secondo dopo il primo errore per un dato file, 2 secondi dopo il secondo errore e così via fino a quando valore massimo secondi. Quindi un valore di 10 farà aspettare Wget fino a (1 + 2 + ... + 10) = 55 secondi per file. Questa opzione è abilitata per impostazione predefinita nel wgetrc globale.

--aspetta-casuale
Alcuni siti Web possono analizzare i registri per identificare i downloader come Wget osservando le somiglianze statistiche tra le richieste. Chiave data imposta pause casuali nell'intervallo da 0 a 2 * wait secondi, dove il valore di wait è specificato dall'opzione --wait. Ciò consente a Wget di essere escluso da tale analisi. In un recente articolo sullo sviluppo di piattaforme utente popolari, è stato presentato il codice per consentire l'esecuzione di tale analisi al volo. L'autore ha suggerito di bloccare le sottoreti di classe C per bloccare i programmi di download automatico nonostante il possibile cambio di indirizzo assegnato dal DHCP. La creazione della chiave --random-wait è stata ispirata da questa raccomandazione malata di bloccare molti utenti innocenti per colpa di uno.

-Y acceso/spento
--proxy=attivato/disattivato
Abilita o disabilita il supporto proxy. Se è impostata la variabile di ambiente appropriata, il supporto proxy è abilitato per impostazione predefinita.

-Quota Q
--quota=quota
Imposta una quota per i download automatici. Il valore è specificato in byte (predefinito), kilobyte (con suffisso k) o megabyte (con suffisso m). La quota non influisce sul download di un singolo file ..gz, verrà scaricato l'intero file ls-lR.gz. Lo stesso accade quando si specificano più URL sulla riga di comando. La quota è importante quando si scarica in modo ricorsivo o quando si specificano gli indirizzi nel file di input. Quella. puoi tranquillamente specificare wget -Q2m -i sites - il download verrà interrotto al raggiungimento della quota. L'impostazione dei valori su 0 o inf ha la precedenza sulle restrizioni.

dns-cache=off
Disabilita la memorizzazione nella cache delle query DNS. Wget di solito ricorda gli indirizzi che cerca nel DNS, quindi non devi continuare a chiedere Server DNS circa lo stesso (di solito piccolo) insieme di indirizzi. Questa cache esiste solo in memoria. Nuovo processo Wget interrogherà nuovamente il DNS. Tuttavia, in alcuni casi la memorizzazione nella cache degli indirizzi non è auspicabile, anche per il breve periodo di un'applicazione come Wget. Ad esempio, alcuni server HTTP hanno indirizzi IP allocati dinamicamente che cambiano di volta in volta. I loro record DNS aggiornato ad ogni modifica. Se un download Wget da un tale host non riesce a causa di una modifica dell'indirizzo IP, Wget riprova il download ma (a causa della memorizzazione nella cache DNS) tenta di connettersi al vecchio indirizzo. Con la memorizzazione nella cache DNS disabilitata, Wget eseguirà una ricerca DNS su ogni connessione e quindi otterrà l'indirizzo dinamico corretto ogni volta. Se non capisci la descrizione di cui sopra, molto probabilmente non avrai bisogno di questa chiave.

--restrict-file-names=modalità
Imposta quali set di caratteri possono essere utilizzati durante la generazione di un nome file locale da un URL remoto. I caratteri vietati da questo tasto vengono sottoposti a escape, ad es. sono sostituiti da %HH, dove HH è il codice esadecimale del carattere corrispondente. Per impostazione predefinita, Wget esegue l'escape dei caratteri che non farebbero parte di un nome file sul sistema operativo, nonché dei caratteri di controllo, che di solito non sono stampabili. Questa opzione è utile per modificare l'impostazione predefinita se si salva un file su una partizione non nativa o si desidera disabilitare gli escape dei caratteri di controllo. Quando la modalità è impostata su "unix", Wget esegue l'escape del carattere / e controlla i caratteri negli intervalli 0-31 e 128-159. Questa è l'impostazione predefinita per i sistemi operativi di tipo Unix. Quando la modalità è impostata su "finestre", Wget esegue l'escape dei caratteri \, |, /, :, ?, ", * e controlla i caratteri negli intervalli 0-31 e 128-159. Inoltre, Wget in modalità Windows utilizza invece + di: per separare l'host e una porta in nomi locali file e @ invece di ? per separare la parte della query del nome del file dal resto. Pertanto, un URL archiviato in modalità Unix come www..pl?input=blah verrà archiviato in modalità Windows come [email protetta]= bla. Questa modalità è l'impostazione predefinita in Windows. Se mode viene aggiunto a nocontrol, come unix,nocontrol, l'escape dei caratteri di controllo è disabilitato. È possibile utilizzare --restrict-file-names=nocontrol per disattivare l'escape dei caratteri di controllo senza influire sulla scelta della modalità di escape dei caratteri di controllo specifica del sistema operativo.

Chiavi di directory

-nd
--nessuna directory
Non creare una struttura di directory durante il download ricorsivo. Con questa opzione, tutti i file vengono salvati nella directory corrente senza sovrascrivere (se il nome ricorre più di una volta, i nomi riceveranno il suffisso .n).

-X
--directory-forza
Reverse -nd - crea una struttura di directory, anche se non verrebbe creata altrimenti. .txt salverà il file in site/robots.txt.

-nH
--no-host-directory
Disabilita la creazione della directory host ..ru/. Questa chiave sovrascrive questo comportamento.

--protocollo-directory
Utilizzare il nome del protocollo come parte della directory per i file locali. Ad esempio, con questa opzione, wget -r http://host salverà in http/host/... anziché in host/....

--cut-dirs=numero
Ignora i livelli di annidamento del numero delle directory. Questa è un'utile opzione per la gestione delle directory a grana fine per salvare il contenuto scaricato in modo ricorsivo. Quando si scarica con -r, una copia locale verrà archiviata in ftp.. Se l'opzione -nH può rimuovere ftp.. --cut-dirs arriva a il salvataggio qui; fa sì che Wget chiuda un occhio sul numero di sottodirectory remote. Di seguito sono riportati alcuni esempi di lavoro di --cut-dirs.

Nessuna opzione -> ftp. -nH -> pub/xxx/ -nH --cut-dirs=1 -> xxx/ -nH --cut-dirs=2 -> . --cut-dirs=1 -> ftp.site/xxx/

Se vuoi solo sbarazzarti della struttura delle directory, allora questa opzione può essere sostituita con una combinazione di -nd e -P. Tuttavia, a differenza di -nd, --cut-dirs non perde le sottodirectory - ad esempio, con -nH --cut-dirs=1, la sottodirectory beta/ verrà mantenuta come xxx/beta, come previsto.

-P prefisso
--directory-prefix=prefisso
Imposta la directory principale sul prefisso. La directory principale è la directory in cui verranno salvati tutti i file e le sottodirectory, ad es. la parte superiore dell'albero scaricato. Predefinito. (directory corrente).

Chiavi HTTP

-E
--estensione html
Questa chiave aggiunge l'estensione .html al nome del file locale se l'URL scaricato è di tipo application/xhtml+xml o text/html e la sua fine non corrisponde espressione regolare\.?. Ciò è utile, ad esempio, quando si esegue il mirroring di siti che utilizzano pagine .asp, quando si desidera che il mirror funzioni server normale Apache. Utile anche durante il download di contenuti generati dinamicamente. Un URL come http://site.com/article.cgi?25 verrà salvato come article.cgi?25.html. Le pagine salvate in questo modo verranno scaricate e sovrascritte ad ogni successivo mirroring, perché Wget non può corrispondere al file X.html locale indirizzo remoto URL X (non sa ancora che l'URL restituisce una risposta text/html o application/xhtml+xml). Per impedire il nuovo download, utilizzare le opzioni -k e -K in modo che la versione originale venga salvata come X.orig.

--http-utente=utente
--http-passwd=password
Indica il nome utente e password password accedere Server HTTP. A seconda del tipo di richiesta, Wget le codificherà utilizzando lo schema di autorizzazione normale (non protetto) o digest. Un altro modo per specificare il nome utente e la password è nell'URL stesso. In entrambi i casi, rivela la tua password a chiunque esegua ps. Per evitare di esporre le password, salvale in file .wgetrc o .netrc e assicurati che questi file non siano leggibili da altri utenti che utilizzano chmod. Si sconsiglia di memorizzare password particolarmente importanti anche in questi file. Scrivi le password sui file e poi eliminale subito dopo l'avvio di Wget.

--nessuna cache
Disabilita la memorizzazione nella cache sul lato server. In questa situazione Wget invia Server remoto la direttiva corrispondente (Pragma: no-cache) per ottenere una versione aggiornata del file, non una versione memorizzata nella cache. Ciò è particolarmente utile per cancellare documenti obsoleti sui server proxy. La memorizzazione nella cache è abilitata per impostazione predefinita.

--niente biscotti
Disabilita l'uso dei cookie. I cookie sono un meccanismo per mantenere lo stato del server. Il server invia un cookie al client utilizzando l'intestazione Set-Cookie, il client include questo cookie in tutte le richieste successive. Perché I cookie consentono ai proprietari di server di tracciare i visitatori e condividere queste informazioni tra i siti, alcuni li considerano una violazione della privacy. Per impostazione predefinita, vengono utilizzati i cookie; tuttavia, i cookie non vengono salvati per impostazione predefinita.

--load-cookies file
Caricamento dei cookie dal file prima della prima richiesta HTTP. file- file di testo nel formato originariamente utilizzato per biscotto s.txt Netscape. In genere questa opzione è richiesta per il mirroring di siti che richiedono l'autorizzazione per alcuni o tutti i contenuti. L'autorizzazione viene solitamente effettuata con l'emissione di un cookie HTTP da parte del server dopo aver ricevuto e verificato le informazioni di registrazione. In futuro, un cookie viene inviato dal browser durante la visualizzazione di questa parte del sito e fornisce l'identificazione. Il mirroring di un tale sito richiede che Wget serva gli stessi cookie del browser. Ciò si ottiene tramite --load-cookies - punta semplicemente Wget nella posizione del tuo cookie.txt e invierà cookie identici al browser. Browser diversi memorizzano i cookie in posizioni diverse: Netscape 4.x. ~/.netscape/cookies.txt. Mozilla e Netscape 6.x. Un cookie Mozilla è anche chiamato cookie.txt, che si trova da qualche parte all'interno di ~/.mozilla nella directory del tuo profilo. Il percorso completo di solito è simile a ~/.mozilla/default/some-weird-string/cookies.txt. Internet Explorer. Il cookie per Wget può essere ottenuto attraverso il menu File, Importa ed Esporta, Esporta Cookie. Testato su Internet Explorer 5; lavorare con di più prime versioni non garantito. altri browser. Se stai usando un browser diverso, --load-cookies funzionerà solo se il formato del file corrisponde al formato di Netscape, ad es. quello che Wget si aspetta. Se non puoi usare --load-cookies, potrebbe esserci un'altra alternativa. Se il tuo browser ha un "cookie manager", puoi visualizzare i cookie necessari per il mirroring. Annotare il nome e il valore del cookie e indirizzarli manualmente a Wget, aggirando il supporto "ufficiale":

Wget --cookies=off --header "Cookie: nome=valore"

--save-cookies file
Salvataggio dei cookie su file prima di uscire. Questa opzione non salva i cookie scaduti e i cookie senza un tempo di scadenza specifico (c.d. "cookie di sessione"). Vedi anche --keep-session-cookies.

--keep-session-cookies
--save-cookies salva i cookie di sessione. Solitamente i cookie di sessione non vengono salvati, in quanto sono destinati a essere dimenticati dopo la chiusura del browser. Il loro salvataggio è utile per i siti che richiedono l'autorizzazione per accedere alle pagine. Con questa opzione, i diversi processi Wget per il sito appariranno come un unico browser. Perché di solito il formato del file cookie non contiene cookie di sessione, Wget li contrassegna con un timestamp di scadenza pari a 0. --load-cookies li tratta come cookie di sessione, ma questo può causare problemi ad altri browser.I cookie caricati in questo modo vengono interpretati come sessioni cookie, ovvero per salvarli con --save-cookies, è necessario specificare nuovamente --keep-session-cookies.

--ignore-lunghezza
Sfortunatamente, alcuni server HTTP (programmi CGI, per la precisione) inviano l'intestazione Content-Length errata, il che fa impazzire Wget perché pensa che il documento non sia stato completamente scaricato. Questa sindrome può essere notata se Wget tenta di scaricare lo stesso documento più e più volte, indicando ogni volta un'interruzione di connessione sullo stesso byte. Con questa opzione, Wget ignora l'intestazione Content-Length come se non fosse mai esistita.

--header=intestazione-aggiuntiva
Specificare un'intestazione aggiuntiva per Trasferimenti HTTP server. Le intestazioni devono contenere ":" dopo uno o più caratteri non vuoti e non devono contenere nuove righe. Puoi specificare più intestazioni aggiuntive usando l'opzione --header più volte.

Wget --header="Accetta-Charset: iso-8859-2" --header="Accetta-Language: hr" http://aaa.hr/

Specificando come intestazione stringa vuota cancella tutte le intestazioni personalizzate specificate in precedenza.

--utente-proxy=utente
--proxy-passwd=password
Specifica il nome utente, l'utente e la password per l'autorizzazione sul server proxy. Wget li codifica usando uno schema di autorizzazione di base. Le stesse considerazioni sulla sicurezza si applicano qui come per l'opzione --http-passwd.

--referer=url
Include un'intestazione 'Referer: url' nella richiesta.Utile se, al momento di servire un documento, il server pensa di parlare con un browser interattivo e controlla che il campo Referer contenga una pagina che punta al documento richiesto.

--salva intestazioni
Salva le intestazioni della risposta HTTP in un file appena prima del contenuto, utilizzando una stringa vuota come delimitatore.

-U agente-stringa
--user-agent=stringa-agente
Identificato come stringa dell'agente del browser per il server HTTP. Il protocollo HTTP consente di identificare i client utilizzando il campo di intestazione User-Agent. Ciò consente di distinguere il software, di solito per le statistiche o per il monitoraggio delle violazioni del protocollo. Wget è solitamente identificato come Wget/versione dove si trova la versione Versione attuale Wget. Tuttavia, alcuni siti hanno una politica di personalizzazione dell'output del browser in base al campo User-Agent. Fondamentalmente questo non lo è cattiva idea, ma alcuni server negano l'accesso a client diversi da Mozilla e Microsoft Internet esploratore. Questa chiave consente di modificare il valore dello User-Agent restituito da Wget. L'uso di questo interruttore non è consigliato a meno che tu non sia sicuro di quello che stai facendo.

--post-data=stringa
--file-post=file
Usi metodo POST per tutti Richieste HTTP e invia i dati specificati nella richiesta. --post-data invia una stringa come dati e --post-file invia il contenuto del file file. Altrimenti funzionano allo stesso modo. Tieni presente che Wget deve inizialmente conoscere la lunghezza della richiesta POST. L'argomento dell'opzione --post-file deve essere un file normale; specificare FIFO come /dev/stdin non funzionerà. Non è del tutto chiaro come questa limitazione possa essere aggirata in HTTP/1.0. Sebbene HTTP/1.1 introduca un trasferimento a blocchi che non richiede alcuna conoscenza preliminare della lunghezza, un client non può utilizzarlo a meno che non sia sicuro che stia parlando con un server HTTP/1.1. E non può saperlo finché non riceve una risposta, che, a sua volta, arriva a una richiesta a tutti gli effetti. Il problema delle uova e del pollo. Nota: se Wget riceve un reindirizzamento in risposta a Richiesta POST, non invierà dati POST all'URL di reindirizzamento. Spesso Indirizzo URL che gestiscono POST inviano un reindirizzamento a una pagina normale (sebbene tecnicamente non consentita) che non vuole accettare POST. Non è ancora chiaro se questo comportamento sia ottimale; se non funziona, verrà modificato. L'esempio seguente mostra come accedere al server tramite POST e quindi scaricare le pagine desiderate, disponibili solo per gli utenti autorizzati:

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

Configurazione WGET

Le impostazioni di base che devono essere scritte ogni volta possono essere specificate in file di configurazione programmi. Per fare ciò, vai alla directory di lavoro di Wget, trova il file sample.wgetrc lì, rinominalo in .wgetrc e l'editor, annotare i parametri di configurazione necessari.

User-agent = "Mozilla/5.0" tentativi = 5 numero di tentativi di download wait = 0 non mettere in pausa continua = su devi riprendere il download dir_prefix = ~/Downloads/ dove mettere i file scaricati use_proxy=on - usa proxy http_proxy - caratteristiche del tuo server proxy.

  • Impostare la variabile di ambiente WGETRC sul percorso completo del file.
  • Impostare la variabile HOME sul percorso della cartella home dell'utente (c:\Documents and settings\jonh). Quindi wget cercherà il file "wgetrc" in quella cartella.
  • In alternativa, puoi creare un file wget.ini nella stessa cartella di wget.exe e impostare opzioni aggiuntive della riga di comando wget lì.

Informazioni utili su WGET possono essere trovate qui:

  • PhantomJS- Utilizzare se è necessario scaricare un sito, parte dei dati su cui viene caricata tramite JavaScript
.

Articoli correlati in alto