wget

Autres langues

Langue: pl

Autres versions - même langue

Version: GNU WGet 1.8.2 (openSuse - 09/10/07)

Section: 1 (Commandes utilisateur)

NAZWA

wget - Podrêcznik GNU Wget

SK£ADNIA

wget [opcja]... [URL]...

OPIS

GNU Wget jest darmowym programem narzêdziowym do pobierania plików z World Wide Web. Obs³uguje protoko³y HTTP, HTTPS i FTP, a tak¿e pobieranie poprzez serwery proxy HTTP.

Wget potrafi pod±¿aæ za odno¶nikami zawartymi w stronach HMTL i tworzyæ lokalne wersje zdalnych witryn WWW, w pe³ni odtwarzaj±c strukturê katalogów oryginalnego o¶rodka. Jest to czasami nazywane ,,pobieraniem rekurencyjnym''. Podczas takiego dzia³ania Wget respektuje ustalenia Standardu Robot Exclusion (/robots.txt). Mo¿liwe jest poinstruowanie programu, by w pobieranych plikach HTML przekszta³ca³ odno¶niki tak, aby wskazywa³y na lokalne kopie, do przegl±dania bez po³±czenia.

Wget zosta³ zaprojektowany tak, by dzia³aæ solidnie równie¿ przy powolnych b±d¼ niestabilnych po³±czeniach. Je¿eli pobieranie nie udaje siê z powodu problemów z sieci±, ponawia próby a¿ do ¶ci±gniêcia ca³o¶ci pliku. Je¶li dany serwer obs³uguje tak± mo¿liwo¶æ, Wget naka¿e kontynuacjê pobierania od miejsca, w którym przerwano.

OPCJE

Podstawowe opcje uruchamiania


-V

---version
Wy¶wietla wersjê Wget.
-h

---help
Wypisuje komunikat pomocy, opisuj±cy wszystkie opcje, jakie mo¿na przekazaæ Wget w wierszu poleceñ.
-b

---background
Przechodzi w t³o natychmiast po rozpoczêciu pracy. Je¶li nie podano pliku wyj¶ciowego za pomoc± -o, wyj¶cie jest przekierowywane do wget-log.
-e polecenie

---execute polecenie
Wykonuje polecenie tak, jakby by³o czê¶ci± .wgetrc. Polecenie wywo³ane w ten sposób zostanie wykonane po poleceniach z .wgetrc, wiêc bêdzie mieæ nad nimi priorytet.

Opcje dziennika i pliku wej¶ciowego


-o dziennik

---output-file=dziennik
Rejestruje wszystkie komunikaty w pliku dziennika. Normalnie s± zg³aszane na standardowym wyj¶ciu b³êdów.
-a dziennik

---append-output=dziennik
Dodaje komunikaty na koñcu pliku dziennika. Jest to to samo, co -o, tyle ¿e dopisuje do dziennika zamiast nadpisywaæ stary. Je¶li plik dziennik nie istnieje, jest tworzony.
-d

---debug
W³±cza wyj¶cie diagnostyczne, czyli wypisywanie rozmaitych informacji wa¿nych dla twórców Wget, gdy nie dzia³a on poprawnie. Administrator twojego systemu móg³ skopilowaæ Wget bez obs³ugi trybu usuwania b³êdów, wówczas -d nie bêdzie dzia³aæ. Nale¿y zauwa¿yæ, ¿e kompilacja z obs³ug± diagnostyki jest zawsze bezpieczna --- Wget skompilowany w ten sposób nie bêdzie wypisywa³ ¿adnych informacji diagnostycznych dopóki nie za¿±damy tego opcj± -d.
-q

---quiet
Tryb cichy. Wy³±cza wyj¶cie Wget.
-v

---verbose
Pe³ne wyj¶cie, z wszystkimi dostêpnymi danymi. Jest to opcja domy¶lna.
-nv

---non-verbose
Niepe³ne wyj¶cie --- wy³±cza pe³ne wyj¶cie, ale nie ucisza ca³kowicie (to robi siê opcj± -q); komunikaty o b³êdach i podstawowe informacje bêd± nadal wypisywane.
-i plik

---input-file=plik
Czyta URL-e z pliku wej¶ciowego plik, w zwi±zku z czym nie trzeba ich podawaæ w wierszu poleceñ. Je¶li URL-e podano zarówno w wierszu poleceñ, jak i w pliku wej¶ciowym, to pierwsze zostan± pobrane pliki wymienione w wierszu poleceñ. Plik nie musi byæ dokumentem HTML (ale nie przeszkadza, je¶li nim jest) --- wystarczy, ¿e URL-e bêd± po prostu kolejno spisane.

Jednak¿e je¶li zostanie podana opcja ---force-html, to plik bêdzie traktowany jak dokument html. Mog± siê wówczas pojawiæ k³opoty z odno¶nikami wzglêdnymi, które mo¿na rozwi±zaæ dodaj±c "<base href="url">" do pliku lub podaj±c ---base=url w wierszu poleceñ.

-F

---force-html
Kiedy wej¶cie jest czytane z pliku, wymusza aby by³o traktowane jako HTML. Pozwala to na pobieranie wzglêdnych odno¶ników z istniej±cych plików HTML znajduj±cych siê na lokalnym dysku naszego komputera, przez dodanie znacznika "<base href="url">" do pliku HTML lub u¿ycie opcji ---base.
-B URL

---base=URL
U¿yte w po³±czeniu z -F, stosuje URL jako podstawê dla odno¶ników wzglêdnych w pliku podanym przez -i.

Opcje ¶ci±gania


---bind-address=adres
Podczas tworzenia klienckich po³±czeñ TCP/IP, wi±¿e z lokalnym komputerem, przez "bind()", zadany adres. Adres mo¿na podaæ jako nazwê hosta lub adres IP. Mo¿e siê przydaæ je¶li nasza maszyna ma przypisane kilka adresów IP.
-t liczba

---tries=liczba
Ustawia liczbê ponawiania prób na liczbê. Dla nieskoñczonego ponawiania podajemy 0 lub inf.
-O plik

---output-document=plik
Dokumenty nie bêd± zapisywane do odpowiednich plików, ale wszystkie zostan± sklejone i zapisane do pliku. Je¶li plik istnieje, to zostanie nadpisany. Je¶li jako plik podano -, dokumenty bêd± zapisane na standardowe wyj¶cie. W³±czenie tej opcji automatycznie ustawia liczbê prób na 1.
-nc

---no-clobber
Je¶li plik jest pobierany wiêcej ni¿ raz do tego samego katalogu, zachowanie siê Wget zale¿y od kilku opcji, miêdzy innymi -nc. W pewnych przypadkach istniej±cy lokalny plik bêdzie nadpisany, przebity (ang. clobbered), przy powtórzeniu ¶ci±gania. W innych przypadkach zostanie zachowany.

Przy uruchomieniu Wget bez opcji -N, -nc lub -r pobranie tego samego pliku do tego samego katalogu spowoduje pozostawienie pierwotnego egzemplarza pliku i nadanie drugiemu nazwy plik.1. Gdy plik bêdzie ¶ci±gany kolejny raz, trzeci egzemplarz otrzyma nazwê file.2, i tak dalej. Przy podanej opcji -nc, zachowanie takie jest wstrzymywane, a Wget odmawia pobrania nowszych kopii pliku. Dlatego te¿, ``"no-clobber"'' jest w rzeczywisto¶ci z³± nazw± dla tego trybu -- nie chroni on przed nadpisywaniem (gdy¿ temu zapobiegaj± ju¿ numeryczne przyrostki), ale przed zachowywaniem wielu wersji pliku.

Przy uruchomieniu Wget z -r, ale bez -N czy -nc, ponowne ¶ci±gniêcie pliku powoduje, ¿e nowa kopia po prostu nadpisuje star±. Dodanie -nc zapobiega takiemu zachowaniu, skutkuj±c zamiast tego zachowaniem pierwotnej wersji i ignorowaniem ewentualnych nowe kopii z serwera.

Przy uruchomieniu Wget z -N, z opcj± -r lub bez niej, decyzja, czy ¶ci±gaæ now± wersjê pliku czy te¿ nie, zale¿y od znaczników czasu (dat modyfikacji) i rozmiarów lokalnego i zdalnego pliku. -nc nie mo¿na podawaæ równocze¶nie z -N.

Zauwa¿, ¿e je¶li podano -nc, pliki z przyrostkami .html lub .htm (fuj) bêd± odczytywane z dysku i przetwarzane tak, jakby zosta³y pobrane z Sieci.

-c

---continue
Kontynuuje pobieranie czê¶ciowo ¶ci±gniêtego pliku. Przydatne, gdy chcemy dokoñczyæ ¶ci±ganie rozpoczête lub w poprzednim przebiegu Wget lub przez inny program. Na przyk³ad:

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





Je¶li w bie¿±cym katalogu istnieje plik ls-lR.Z, Wget przyjmie, ¿e jest to pocz±tkowy fragment zdalnego pliku i za¿±da od serwera kontynuacji pobierania od offsetu równego d³ugo¶ci lokalnego pliku.

Zauwa¿, ¿e nie ma potrzeby podawania tej opcji je¶li chcemy tylko, by aktualnie wywo³any Wget ponownie próbowa³ ¶ci±gaæ plik, w po³owie którego zosta³o zerwane po³±czenie. Jest to zachowanie domy¶lne. Opcja -c wp³ywa tylko na wznawianie pobrañ zaczêtych przed bie¿±cym wywo³aniem Wget i tylko dla tych plików, których lokalne kopie nadal istniej±.

Bez -c, polecenie z poprzedniego przyk³adu pobra³by po prostu zdalny plik do ls-lR.Z.1, pozostawiaj±c w spokoju obciêty plik ls-lR.Z.

Pocz±wszy od Wget 1.7, je¶li u¿yjemy -c dla niepustego pliku, a oka¿e siê, ¿e serwer nie obs³uguje kontynuacji ¶ci±gania, to program odmówi rozpoczêcia ¶ci±gania od zera, które prowadzi³oby do zniszczenia istniej±cej zawarto¶ci. Je¶li naprawdê chcemy ¶ci±gaæ od pocz±tku, powinni¶my usun±æ taki plik.

Równie¿ od wersji 1.7, je¶li u¿yjemy -c dla pliku, którego rozmiar jest taki sam, jak na serwerze, to Wget odmówi ¶ci±gniêcia pliku i wypisze komunikat obja¶niaj±cy. Tak samo dzieje siê, gdy plik jest mniejszy na serwerze ni¿ lokalnie (prawdopodobnie dlatego, ¿e zosta³ zmieniony na serwerze od czasu naszej ostatniej próby ¶ci±gania) --- poniewa¿ ,,kontynuacja'' jest bezsensowna, pobieranie nie zachodzi.

Z drugiej strony, przy stosowaniu -c, ka¿dy plik, który jest wiêkszy na serwerze ni¿ lokalnie bêdzie uwa¿any za nie w pe³ni ¶ci±gniêty. Wówczas pobranych i doczepionych na koniec pliku lokalnego zostanie tylko "(length(zdalny) - length(lokalny))" bajtów. W pewnych przypadkach takie zachowanie jest po¿±dane --- na przyk³ad, mo¿na skorzystaæ z wget -c do ¶ci±gniêcia tylko nowej porcji danych, dopisanej na koñcu zbioru danych czy pliku dziennika.

Jednak¿e, je¶li plik na serwerze jest wiêkszy dlatego, ¿e zosta³ zmieniony, a nie tylko doklejono do niego dane, to w efekcie otrzymamy zniekszta³cony plik. Wget w ¿aden sposób nie mo¿e sprawdziæ, czy lokalny plik jest poprawn± czê¶ci± pocz±tkow± zdalnego. Nale¿y na to szczególnie uwa¿aæ stosuj±c -c w po³±czeniu z -r, gdy¿ ka¿dy plik bêdzie uwa¿any za kandydata na ``nieukoñczone ¶ci±ganie''.

Inn± sytuacja, w której przy korzystaniu z -c uzyskuje siê zniekszta³cony plik, zachodzi, gdy mamy do czynienia z u³omnym proxy HTTP, wstawiaj±cym ³añcuch ,,transfer interrupted'' do lokalnego pliku. W przysz³o¶ci bêdzie mo¿e dodana opcja ,,rollback'', obs³uguj±ca ten przypadek.

Zauwa¿, ¿e -c dzia³a tylko z serwerami FTP i HTTP, które obs³uguj± nag³ówek "Range".

---progress=typ
Umo¿liwia wskazanie typu wska¼nika postêpu. Dozwolonymi rodzajami wska¼nika s± ,,dot'' (kropka) i ,,bar'' (pasek).

Domy¶lnie stosowany jest wska¼nik ,,bar''. Rysowany jest wówczas pasek postêpu z³o¿ony ze znaków graficznych ASCII (zwany czasem wska¼nikiem ,,termometrowym''), wskazuj±cy stan pobierania. Je¿eli wyj¶ciem programu nie jest TTY, to domy¶lnie zostanie u¿yty wska¼nik typu ,,dot''.

W celu prze³±czenia na wy¶wietlanie kropek nale¿y u¿yæ ---progress=dot. Postêpy ¶ci±gania pokazuj± wtedy wypisywane na ekranie kropki, z których ka¿da symbolizuje ustalon± ilo¶æ pobranych danych.

Przy korzystaniu z tego wska¼nika, mo¿na tak¿e ustaliæ styl. Wykonuje siê to podaj±c typ wska¼nika w postaci dot:styl. W ró¿nych stylach pojedynczej kropce przypisuje siê ró¿ne znaczenie. W stylu "default" ka¿da kropka oznacza 1K, grupa liczy dziesiêæ kropek, a wiersz 50 kropek. Styl "binary" jest bardziej ,,komputerowy'' -- 8K dla skropki, 16-kropkowe grupy i 48 kropek w wierszu (co daje 384K na wiersz). Przy pobieraniu bardzo du¿ych plików odpowiedni jest styl "mega" --- ka¿da kropka symbolizuje pobrane 64K, w grupie jest osiem kropek, a w wierszu 48 (wiêc ka¿dy wiersz zawiera 3M).

Warto zauwa¿yæ, ¿e domy¶lny rodzaj wska¼nika postêpu mo¿emy ustaliæ umieszczaj±c w pliku .wgetrc polecenie "progress". Takie ustawienie jest przes³aniane przez opcjê podan± w wierszu poleceñ. Wyj±tek stanowi sytuacja, kiedy wyj¶ciem nie jest TTY --- wówczas typ ,,dot'' bêdzie mia³ pierwszeñstwo nad ,,bar''. Da siê jednak wymusiæ wska¼nik w postaci paska, stosuj±c ---progress=bar:force.

-N

---timestamping
W³±cza stosowanie znaczników czasu (time-stamping).
-S

---server-response
Wypisuje nag³ówki wysy³ane przez serwery HTTP i odpowiedzi wysy³ane przez serwery FTP.
---spider
Wywo³±ny z t± opcj±, Wget bêdzie zachowywa³ siê jak sieciowy paj±k (Web spider), to znaczy, ¿e nie bêdzie pobiera³ stron, a jedynie sprawdza³, czy tam s±. Mo¿na to wykorzystaæ to sprawdzenia zak³adek (bookmarks), na przyk³ad tak:

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





Ta funkcja wymaga jeszcze wiele pracy, by Wget osi±gn±³ mo¿liwo¶ci zbli¿one do prawdziwych paj±ków WWW.
-T seconds

---timeout=sekundy
Ustawia limit czasu czytania na podan± liczbê sekund. Przy ka¿dym odczycie sieciowym sprawdzana jest dla deskryptora pliku ewentualno¶æ przekroczenia limitu czasu, poniewa¿ bez tego mog³o by doj¶æ do nieprzerwanego czytania (zostawienia zawieszonego po³±czenia). Domy¶lny limit to 900 sekund (piêtna¶cie minut). Ustawienie limitu na 0 wy³±cza sprawdzanie.

Proszê nie obni¿aæ domy¶lnej warto¶ci limitu czasu t± opcj±, chyba ¿e z pe³n± ¶wiadomo¶ci± skutków.

---limit-rate=wielko¶æ
Ogranicza prêdko¶ci pobierania do wielko¶æ bajtów na sekundê. Wielko¶æ tê mo¿na wyraziæ w bajtach, kilobajtach (przyrostkiem k) lub megabajtach (przyrostkiem m) na sekundê. Na przyk³ad ---limit-rate=20k ograniczy prêdko¶æ ¶ci±gania do 20KB/s. Taka rzecz przydaje siê, gdy z jakiego¶ powodu nie chcemy, ¿eby Wget zaj±³ ca³± dostêpn± szeroko¶æ pasma.

Nale¿y zauwa¿yæ, ¿e Wget realizuje to w ten sposób, ¿e po stwierdzeniu, i¿ odczyt z sieci zabra³ mniej czasu, ni¿ wynika to z podanej prêdko¶ci, przez odpowiedni czas wstrzymuje siê od dzia³ania (zasypia). Koñcowym efektem takiej strategii jest spowolnienie transferu TCP mniej wiêcej do podanej prêdko¶ci. Niemniej jednak, na osi±gniêcie tej równowagi potrzeba trochê czasu, wiêc nie b±d¼cie zaskoczeni, je¶li ograniczenie szybko¶ci nie dzia³a dla bardzo ma³ych plików. Tak samo, strategia ``zasypiania'' nie zda egzaminu, je¶li poda siê zbyt ma³e pasmo, dajmy na to mniejsze ni¿ 1,5KB/s.

-w sekundy

---wait=sekundy
Odczekuje zadan± liczbê sekund pomiêdzy kolejnymi pobraniami. Zaleca siê u¿ywanie tej opcji, gdy¿ zmniejsza obci±¿enie serwera dziêki rzadszym ¿±daniom. Czas, zamiast w sekundach, mo¿na podaæ w minutach dodaj±c przyrostek "m", w godzinach - dodaj±c "h" lub w dniach - dodaj±c "d".

Okre¶lanie du¿ej warto¶ci tej opcji przydaje siê je¶li sieæ lub maszyna docelowa s± wy³±czone. Wówczas Wget mo¿e odczekaæ wystarczaj±co d³ugo, by rozs±dnie spodziewaæ siê, ¿e przed ponown± prób± b³±d sieci zosta³ naprawiony.

---waitretry=sekundy
Opcjê tê stosujemy je¶li nie chcemy, by Wget czeka³ pomiêdzy ka¿dym pobraniem, a tylko pomiêdzy ponawianymi próbami nieudanych pobrañ. Wget zastosuje odczekiwanie liniowe (linear backoff), czekaj±c 1 sekundê po pierwszym niepowodzeniu z danym plikiem, nastêpnie 2 sekundy po drugim niepowodzeniu z tym plikiem, a¿ do maksymalnej liczby sekund, jak± podano. Zatem, warto¶æ 10 faktycznie spowoduje, ¿e Wget bêdzie odczekiwa³ ³±cznie do (1 + 2 + ... + 10) = 55 sekund na ka¿dy plik.

Zauwa¿, ¿e w ogólnosystemowym pliku wgetrc ta opcja jest domy¶lnie w³±czona.

---random-wait
W niektórych z o¶rodków wykonywana jest analiza plików dziennikowych (tzw. logów), która ma na celu zidentyfikowanie programów do pobierania, takich jak Wget. Polega ona na wyszukiwaniu statystycznie znacz±cych podobieñstw miêdzy ró¿nicami czasu, jaki up³yn±³ pomiêdzy kolejnymi ¿±daniami. Ta opcja powoduje, ¿e dla zamaskowania przed takimi analizami obecno¶ci Wgeta czas pomiêdzy ¿±daniami bêdzie siê wahaæ od 0 do 2 * sekundy, gdzie sekundy podano opcj± ---wait (-w).

W jednym z ostatnich artyku³ów w pewnej publikacji po¶wiêconej rozwijaniu oprogramowania na popularnych platformach klienckich podano kod wykonuj±cy tak± analizê na bie¿±co. Autor sugerowa³ blokowanie na poziomie adresu klasy C, co ma gwarantowaæ, ¿e programy pobieraj±ce zostan± zablokowane niezale¿nie od zmiany adresów przedzielanych przez DHCP.

Opcja ---random-wait powsta³a z powodu tej w³a¶nie nierozwa¿nej porady, zalecaj±cej blokowanie wielu postronnych u¿ytkowników o¶rodka z powodu dzia³añ jednego z nich.

-Y on/off

---proxy=on/off
W³±cza/wy³±cza u¿ywanie proxy. Domy¶lnie u¿ywanie proxy jest w³±czone je¶li jest zdefiniowana odpowiednia zmienna ¶rodowiskowa.
-Q wielko¶æ

---quota=wielko¶æ
Okre¶la ograniczenie wielko¶ci pobieranych danych przy ¶ci±ganiu automatycznym. Limit podawany jest w bajtach (domy¶lnie), kilobajtach (z przyrostkiem k) lub megabajtach (z przyrostkiem m).

Warto pamiêtaæ, ¿e ograniczenie to nigdy nie dotyczy pobierania pojedynczego pliku. Tak wiêc, je¶li podamy wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz, to zostanie ¶ci±gniêty ca³y plik ls-lR.gz. Tak samo dzieje siê nawet wówczas, gdy w wierszu poleceñ zostanie wyszczególnionych kilka URL-i. Ograniczenie wielko¶ci jest jednak przestrzegane podczas pobierania rekurencyjnego lub wed³ug pliku wej¶ciowego. Zatem, mo¿na spokojnie napisaæ wget -Q2m -i witryny -- po przekroczeniu ograniczenia ¶ci±ganie zostanie przerwane.

Ustawienie limitu na 0 lub na inf znosi ograniczenie pobierania.

Opcje katalogów


-nd

---no-directories
Nie tworzy hierarchii katalogów przy pobieraniu rekurencyjnym. Po w³±czeniu tej opcji wszystkie pliki bêd± zapisywane do bie¿±cego katalogu bez przebijania (je¶li nazwa pojawi siê wiêcej ni¿ raz, nazwy plików otrzymaj± rozszerzenie .n).
-x

---force-directories
Przeciwieñstwo -nd. Wymusza utworzenie hierarchii katalogów nawet je¶li nie mia³aby byæ stworzona. Np. wget -x http://fly.srk.fer.hr/robots.txt zapisze ¶ci±gniêty plik jako fly.srk.fer.hr/robots.txt.
-nH

---no-host-directories
Wy³±cza tworzenie katalogów z nazw± hosta jako przedrostkiem. Domy¶lnie, -r http://fly.srk.fer.hr/ spowoduje stworzenie struktury katalogów zaczynaj±cej siê od fly.srk.fer.hr/, gdzie trafi ca³a reszta. Ta opcja wy³±cza takie zachowanie.
---cut-dirs=liczba
Ignoruje podan± liczbê sk³adowych katalogu. Przydatne do precyzyjnego sterowania katalogami, w których bêd± sk³adowane pliki z pobierania rekurencyjnego.

We¼my, na przyk³ad, katalog ftp://ftp.xemacs.org/pub/xemacs/. Je¿eli pobierzemy go z -r, to lokalnie zostanie zachowany jako ftp.xemacs.org/pub/xemacs/. Mimo ¿e opcja -nH pozwala na usuniêcie czê¶ci ftp.xemacs.org/, nadal utkniemy z pub/xemacs. Tu w³a¶nie z pomoc± przychodzi ---cut-dirs. Powoduje, ¿e Wget ``nie widzi'' zadanej liczby sk³adowych zdalnego katalogu. Oto kilka przyk³adów pokazuj±cych, jak dzia³a opcja ---cut-dirs.


        No options        -> ftp.xemacs.org/pub/xemacs/

        -nH               -> pub/xemacs/

        -nH --cut-dirs=1  -> xemacs/

        -nH --cut-dirs=2  -> .






        --cut-dirs=1      -> ftp.xemacs.org/xemacs/

        ...





Je¶li chcemy po prostu pozbyæ siê struktury katalogów, to opcja ta jest podobna do kombinacji -nd i -P. Jednak ---cut-dirs, w przeciwieñstwie do -nd, nie pozbywa siê podkatalogów --- na przyk³ad, przy -nH --cut-dirs=1, podkatalog beta/ bêdzie, zgodnie z oczekiwaniami, umieszczony w xemacs/beta.
-P prefiks

---directory-prefix=prefiks
Ustawia przedrostek, prefiks katalogów na prefiks. Przedrostek katalogów oznacza katalog, zostan± zapisane wszystkie inne pliki i katalogi, tzn. wierzcho³ek drzewa pobierania. Domy¶lnym przedrostkiem jest ., katalog bie¿±cy.

Opcje HTTP


-E

---html-extension
Je¶li pobierany jest plik typu text/html a jego URL nie koñczy siê wyra¿eniem regularnym \.[Hh][Tt][Mm][Ll]?, to opcja ta spowoduje dodanie przyrostka .html do lokalnej nazwy pliku. Przydatne, na przyk³ad, gdy tworzymy kopiê lustrzan± witryny, która u¿ywa stron .asp, ale chcemy, by pozyskane strony dawa³y siê przegl±daæ za pomoc± w³asnego serwera Apache. Innym dobrym zastosowaniem jest pobieranie wyj¶cia generowanego przez skrypty CGI. URL typu http://site.com/article.cgi?25 zostanie zachowany jako article.cgi?25.html.

Zauwa¿, ¿e pliki o zmienionych w ten sposób nazwach bêd± ponownie pobierane za ka¿dym razem gdy bêdziemy od¶wie¿aæ kopiê lustrzan± witryny. Dzieje siê tak, poniewa¿ Wget nie potrafi stwierdziæ, ¿e lokalny plik X.html odpowiada zdalnemu URL-owi X (gdy¿ nie wie, ¿e ten URL tworzy wyj¶cie typu text/html). Chc±c unikn±æ ponownego pobierania, trzeba u¿yæ -k i -K, tak by oryginalna wersja pliku zosta³a zachowana jako X.orig.

---http-user=u¿ytkownik

---http-passwd=has³o
Okre¶laj± nazwê u¿ytkownika i has³o, które Wget prze¶le serwerowi HTTP. W zale¿no¶ci od rodzaju protoko³u wezwanie-odpowied¼, Wget koduje je stosuj±c albo uwierzytelnianie podstawowe ("basic", niechronione) albo w oparciu o skrót ("digest").

Inn± metodê podania nazwy i has³a u¿ytkownika jest wyszczególnienie ich w samym URL-u. Obie te metody ujawniaj± has³o ka¿demu, kto zechce uruchomiæ "ps". ¯eby uchroniæ has³a przed podpatrzeniem, nale¿y przechowywaæ je w pliku .wgetrc lub .netrc i, za pomoc± "chmod", zapewniæ tym plikom ochronê przed innymi u¿ytkownikami. Je¿eli has³a s± naprawdê wa¿ne, w tych plikach te¿ nie trzymajcie ich na sta³e --- usuñcie je z plików zaraz po rozpoczêciu przez Wgeta pobierania. Dok³adniejsze omówienie kwestii bezpieczeñstwa w pracy z Wget,

-C on/off

---cache=on/off
Je¶li ustawione na off, wy³±cza buforowanie po stronie serwera. W takim przypadku Wget wysy³a zdalnemu serwerowi odpowiedni± komendê (Pragma: no-cache), dziêki której plik zostanie pobrany z us³ugi zdalnej, a nie zwrócona wersja buforowana. Jest to szczególnie przydatne do pobierania i wymiatania przeterminowanych dokumentów z serwerów proxy.

Domy¶lnie, buforowanie jest dozwolone.

---cookies=on/off
Ustawione na off wy³±cza u¿ywanie ciasteczek (cookies). Ciasteczka s± mechanizmem do przechowywania stanu po stronie serwera. Serwer przesy³a klientowi ciasteczko stosuj±c nag³ówek "Set-Cookie", a klient przy pó¼niejszych ¿±daniach odpowiada tym samym ciasteczkiem. Poniewa¿ ciasteczka umo¿liwiaj± w³a¶cicielom serwera prowadzenie rejestrów go¶ci i wymianê siê tymi informacjami z innymi o¶rodkami, niektórzy uwa¿aj± je za pogwa³cenie prywatno¶ci. Domy¶lnie cookies s± u¿ywane, jednak ich zapisywanie nie jest domy¶lnie w³±czone.
---load-cookies plik
Przed pierwszym pobraniem HTTP wczytuje ciasteczka z pliku. Pliku jest plikiem tekstowym w formacie, jaki pierwotnie zastosowano dla pliku cookies.txt przegl±darki Netscape.

Na ogó³ korzysta siê z tej opcji przy tworzeniu kopii lustrzanych tych o¶rodków, które do skorzystania z czê¶ci lub ca³o¶ci zasobów wymagaj± zalogowania siê. Proces logowania siê zwykle polega na tym, ¿e po otrzymaniu od nas informacji uwierzytelniaj±cej i jej zweryfikowaniu serwer WWW wysy³a ciasteczko HTTP. Nastêpnie, gdy przegl±darka siêga do zasobów, odsy³a serwerowi otrzymane ciasteczko, potwierdzaj±c w ten sposób nasz± to¿samo¶æ.

Utworzenie kopii tego rodzaju witryny wymaga wysy³ania przez Wget takich samych ciasteczek, jakie podczas komunikowania siê z tym o¶rodkiem przesy³a nasza przegl±darka. Osi±ga siê to za pomoc± ---load-cookies -- wystarczy wskazaæ programowi lokalizacjê pliku cookies.txt, a on wy¶le te same ciasteczka, które w tej samej sytuacji wys³a³aby przygl±darka.

Ró¿ne przegl±darki trzymaj± tekstowe pliki ciasteczek w ró¿nych miejscach:


Netscape 4.x
Ciasteczka s± w ~/.netscape/cookies.txt.
Mozilla i Netscape 6.x
Plik ciasteczek Mozilli nazywa siê równie¿ cookies.txt, jest po³o¿ony gdzie¶ w ~/.mozilla, w katalogu w³a¶ciwym dla profilu u¿ytkownika. Pe³na ¶cie¿ka zazwyczaj koñczy siê czym¶ w rodzaju ~/.mozilla/default/co¶-dziwnego/cookies.txt.
Internet Explorer
Ciasteczko, jakiego móg³by u¿yæ Wget, mo¿na utworzyæ korzystaj±c z menu ``Plik'' i opcji ``Importuj i Eksportuj'', ``Eksportuj pliki cookie''. Zosta³o to przetestowane z Internet Explorerem 5 --- nie ma gwarancji, ¿e bêdzie dzia³aæ z wcze¶niejszymi wersjami.
inne przegl±darki
Je¿eli do tworzenia ciasteczek korzystacie z innej przegl±darki, ---load-cookies bêdzie dzia³aæ tylko wtedy, gdy uda wam siê zlokalizowaæ lub utworzyæ plik ciasteczek w formacie Netscape, jakiego oczekuje Wget.

Je¶li nie mo¿ecie skorzystaæ z ---load-cookies, jest jeszcze inna mo¿liwo¶æ. Je¶li u¿ywana przez was przegl±darka udostêpnia ,,mened¿era plików cookie'', skorzystajcie z niego, ¿eby podgl±dn±æ ciasteczka, jakie zosta³y wykorzystane podczas uzyskiwania dostêpu do witryny, której kopiê chcecie utworzyæ. Zapiszcie nazwê i warto¶æ ciasteczka, a nastêpnie rêcznie naka¿cie Wgetowi wys³anie ciasteczka o zadanej postaci, obchodz±c równocze¶nie ,,oficjalny'' kodu odpowiedzialny za obs³ugê ciasteczek:

        wget --cookies=off --header "Cookie: I<nazwa>=I<warto¶æ>"






---save-cookies plik
Na koniec sesji zapisuje ciasteczka do pliku. Ciasteczka, dla których nie okre¶lono daty wa¿no¶ci lub które ju¿ wygas³y, nie s± zapisywane.
---ignore-length
Niestety, niektóre serwery HTTP (dok³adniej mówi±c, programy CGI) wysy³aj± b³êdne nag³ówki "Content-Length", co powoduje, ¿e Wget g³upieje, s±dz±c, ¿e nie zosta³a pobrana ca³o¶æ dokumentu. Syndrom ten mo¿na uchwyciæ, gdy Wget próbuje w kó³ko pobieraæ ten sam dokument, za ka¿dym razem twierdz±c, ¿e (inaczej ni¿ zwykle) po³±czenie zosta³o zamkniête na dok³adnie tym samym bajcie.

Wywo³any z t± opcj±, Wget bêdzie ignorowa³ nag³ówek "Content-Length", tak jakby nie istnia³.

---header=dodatkowy-nag³ówek
Okre¶la dodatkowy-nag³ówek przesy³any serwerom HTTP. Nag³ówki musz± zawieraæ : poprzedzony co najmniej jednym niepustym znakiem, i nie mog± zawieraæ znaków nowej linii.

Mo¿liwe jest okre¶lenie wiêcej ni¿ jednego dodatkowego nag³ówka przez kilkakrotne podanie opcji ---header.


        wget --header='Accept-Charset: iso-8859-2' \

             --header='Accept-Language: hr'        \

               http://fly.srk.fer.hr/





Podanie pustego ³añcucha jako nag³ówka kasuje wszystkie uprzednio zdefiniowane przez u¿ytkownika nag³ówki.
---proxy-user=u¿ytkownik

---proxy-passwd=has³o
Okre¶laj± nazwê u¿ytkownika i has³o, które zostan± u¿yte do uwierzytelniania na serwerze proxy. Wget koduje je stosuj±c podstawowy ("basic") schemat uwierzytelniania.

Odnosz± siê do tego podobne zagadnienia zwi±zane z bezpieczeñstwem, jak w przypadku opcji ---http-passwd.

---referer=url
Zamieszcza nag³ówek `Referer: url' w ¿±daniu HTTP. Przydatne do pobierania dokumentów z takim przetwarzaniem po stronie serwera, które zak³ada, ¿e s± one zawsze pobierane przez interaktywne przegl±darki Sieci i uznawane za poprawne tylko wtedy, gdy Refer jest ustawione na jedn± ze stron, które na nie wskazuj±.
-s

---save-headers
Zapisuje nag³ówki wysy³ane przez serwer HTTP do pliku, przed w³a¶ciw± zawarto¶ci±, z pust± lini± jako separatorem.
-U nazwa-agenta

---user-agent=nazwa-agenta
Serwerowi HTTP przedstawia siê jako agent o podanej nazwie.

Protokó³ HTTP pozwala klientom na podanie, za pomoc± pola "User-Agent" nag³ówka, swojej to¿samo¶ci. Umo¿liwia to rozró¿nianie oprogramowania WWW, zwykle do celów statystycznych lub ¶ledzenia naruszeñ protoko³u. Wget normalnie przedstawia siê jako Wget/wersja, gdzie wersja jest aktualnym numerem wersji programu.

Znane s± jednak pewne witryny narzucaj±ce politykê przykrawania wyników stosownie do informacji dostarczonej im w polu "User-Agent". Mimo i¿ koncepcyjnie nie jest to taki z³y pomys³, zacz±³ byæ nadu¿ywany przez serwery odmawiaj±ce informacji klientom innym ni¿ "Mozilla" lub "Internet Explorer". Ta opcja umo¿liwia zmianê linii "User-Agent" wysy³anej przez Wget. Nie zachêcamy do u¿ywania tej opcji, chyba ¿e z pe³n± ¶wiadomo¶ci±.

Opcje FTP


-nr

---dont-remove-listing
Zakazuje usuwania tymczasowych plików .listing generowanych przez odczyty FTP. Normalnie, pliki te zawieraj± nieprzetworzone listingi katalogów otrzymane z serwerów FTP. Pozostawienie ich mo¿e siê przydaæ do celów diagnostycznych lub ³atwego sprawdzenia zawarto¶ci katalogów zdalnego serwera (np. do sprawdzenia, ¿e tworzona kopia lustrzana jest kompletna).

Zauwa¿, ¿e, mimo i¿ Wget zapisuje w tym przypadku do pliku o znanej nazwie, nie jest to dziura w zabezpieczeniach w sytuacji, gdy u¿ytkownik stworzy .listing jako dowi±zanie symboliczne do /etc/passwd czy innego pliku i poprosi superu¿ytkownika ("root") o uruchomienie Wget w tym katalogu. W zale¿no¶ci od u¿ytych opcji, Wget albo odmówi zapisu do .listing (co spowoduje niepowodzenie operacji na maskach, rekurencyjnej czy zale¿nej od znaczników czasu), albo dowi±zanie symboliczne zostanie usuniête i zast±pione faktycznym plikiem .listing, albo te¿ listing zostanie zapisany do pliku .listing.numer.

Choæ ta sytuacja nie stwarza k³opotów, jednak "root" nie powinien nigdy uruchamiaæ Wget w katalogu niezaufanego u¿ytkownika. U¿ytkownik taki móg³by na przyk³ad dowi±zaæ index.html do /etc/passwd i poprosiæ "root"a o uruchomienie Wget z opcjami -N lub -r, tak ¿e plik ten zosta³by nadpisany.

---retr-symlinks
Zwykle, gdy podczas rekurencyjnego pobierania katalogów FTP napotkane zostanie dowi±zanie symboliczne, to wskazywany przez nie plik nie jest ¶ci±gany. Zamiast tego w lokalnym systemie plików tworzone jest odpowiadaj±ce mu dowi±zanie symboliczne. Wskazywany przez dowi±zanie plik nie zostanie ¶ci±gniêty, chyba ¿e pobieranie rekurencyjne natknie siê nañ osobno i tak czy owak ¶ci±gnie.

Przy podanej opcji ---retr-symlinks, jednak¿e, program pod±¿a za dowi±zaniami symbolicznymi i pobiera wskazywane przez nie pliki. Obecnie opcja ta nie spowoduje, by Wget pod±¿a³ za dowi±zaniami do katalogów i przetwarza³ je rekurencyjnie, ale w przysz³o¶ci powinna zostaæ poszerzona tak, by tak siê dzia³o.

Zauwa¿, ¿e przy pobieraniu pliku (nie katalogu) wynikaj±cym z podania go w wierszu poleceñ, a nie jako w nastêpstwie rekurencji, opcja ta nie dzia³a. W tym przypadku Wget zawsze pod±¿a za dowi±zaniami.

-g on/off

---glob=on/off
W³±cza/wy³±cza obs³ugê masek dla FTP. Obs³uga masek oznacza, ¿e mo¿na u¿ywaæ znaków specjalnych, uogólniaj±cych (jokerów), takich jak *, ?, [ i ], do pobrania wiêkszej liczby plików z tego samego katalogu naraz, np.

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





Domy¶lnie obs³uga masek bêdzie w³±czona je¶li URL zawiera znaki uogólniaj±ce. Tej opcji mo¿na u¿yæ do w³±czenia b±d¼ wy³±czenia obs³ugi masek na sta³e.

Mo¿e zaj¶æ potrzeba ujêcia URL-a w znaki cudzys³owu, by uchroniæ go przed rozwiniêciem przez pow³okê. Obs³uga masek powoduje, ¿e Wget oczekuje listingu katalogu, którego postaæ jest zale¿na od systemu. Z tego powodu obecnie dzia³a tylko z uniksowymi serwerami FTP (i z tymi, które potrafi± emulowaæ wyj¶cie uniksowego "ls").

---passive-ftp
Powoduje korzystanie z pasywnego schematu pobierania FTP, w którym klient inicjuje po³±czenie do przesy³ania danych. Jest on czasem wymagany, by FTP dzia³a³ za zaporami ogniowymi.

Opcje pobierania rekurencyjnego


-r

---recursive
W³±cza pobieranie rekurencyjne.
-l g³êboko¶æ

---level=g³êboko¶æ
Podaje maksymalny poziom g³êboko¶ci rekurencji. Domy¶lnie jest to 5.
---delete-after
Ta opcja nakazuje Wget usuniêcie ka¿dego z plików, jaki pobiera, po wykonaniu ¶ci±gania. Jest przydatna do pobierania wstêpnego (prefetching) popularnych stron poprzez proxy, np.:

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





Opcja -r nakazuje pobieranie rekurencyjne, a -nd nietworzenie katalogów.

Zauwa¿, ¿e ---delete-after usuwa pliki z lokalnego komputera. Nie wydaje polecenia DELE, na przyk³ad zdalnym o¶rodkom FTP. Zauwa¿ te¿, ¿e je¶li podano ---delete-after, to ---convert-links jest ignorowane, wiêc przede wszystkim pliki .orig po prostu nie s± tworzone.

-k

---convert-links
Po zakoñczeniu pobierania konwertuje odno¶niki w dokumencie tak, by nadawa³y siê do lokalnego przegl±dania. Dotyczy to nie tylko widzialnych odno¶ników hipertekstowych, ale ka¿dej czê¶ci dokumentu, która prowadzi do zewnêtrznych materia³ów, jak osadzone obrazki, odno¶niki do arkuszy stylów, odno¶niki hipertekstowe do zawarto¶ci innej ni¿ HTML, itp.

Ka¿dy odno¶nik bêdzie zmieniony na jeden z dwu sposobów:


*
Odno¶niki do plików, które zosta³y ¶ci±gniête przez Wget zostan± zmienione tak, by odwo³ywa³y siê do pliku, na jaki wskazuj±, jako odno¶niki wzglêdne.

Przyk³ad: je¶li ¶ci±gniêty plik /foo/doc.html jest powi±zany z z /bar/img.gif, równie¿ ¶ci±gniêtym, to odno¶nik w doc.html zostanie zmieniony tak, by wskazywa³ na ../bar/img.gif. Ten rodzaj przekszta³cenia dzia³a bezproblemowo dla dowolnej kombinacji katalogów.

*
Odno¶niki do plików, które nie zosta³y ¶ci±gniête przez Wget zostan± zmienione tak, by zawiera³y nazwê hosta i ¶cie¿kê bezwzglêdn± miejsca, na które wskazuj±.

Przyk³ad: je¶li ¶ci±gniêty plik /foo/doc.html jest powi±zany z z /bar/img.gif (lub z ../bar/img.gif), to odno¶nik w doc.html zostanie zmieniony tak, by wskazywa³ na http://hostname/bar/img.gif.


Z tego powodu, przegl±danie lokalne dzia³a niezawodnie: je¶li powi±zany plik by³ ¶ci±gniêty, to odno¶nik wskazuje na jego lokaln± nazwê, je¶li nie by³ -- to na pe³ny adres internetowy, a nie pojawia siê popsuty odno¶nik. Konwersja pierwotnych odno¶ników na odno¶niki wzglêdne zapewnia nam mo¿liwo¶æ przesuwania pobranej hierarchii katalogów do innego katalogu.
Zauwa¿, ¿e dopiero na samym koñcu pobierania Wget mo¿e rozpoznaæ, które odno¶niki zosta³y ¶ci±gniête. Z tego powodu, opcja -k wykonuje swoj± pracê po zakoñczeniu wszystkich pobrañ.

-K

---backup-converted
Podczas konwersji pliku zachowuje kopiê zapasow± pierwotnej wersji z przyrostkiem .orig. Wp³ywa na zachowanie opcji -N.
-m

---mirror
W³±cza opcje odpowiednie do tworzenia kopii lustrzanych. Ta opcja w³±cza rekurencjê, stosowanie znaczników czasu, ustawia nieograniczony poziom rekurencji i zachowuje listingi katalogów FTP. Obecnie jest równowa¿na u¿yciu -r -N -l inf -nr.
-nr

---dont-remove-listing
Zakazuje usuwania plików tymczasowych .listing tworzonych przez odczyty FTP. Normalnie, pliki te zawieraj± nieprzetworzone listingi katalogów otrzymane z serwerów FTP. Pozostawienie ich daje dostêp do pe³nej listy zdalnych plików przy prowadzeniu siedziby lustrzanej. Przydaje siê te¿ do celów diagnostycznych.
-p

---page-requisites
Ta opcja powoduje, ¿e Wget ¶ci±gnie wszystkie pliki niezbêdne do poprawnego wy¶wietlenia danej strony HTML. Obejmuje to takie rzeczy jak grafikê, d¼wiêki i powi±zane arkusze stylów.

Przy zwyk³ym trybie pracy, podczas pobierania pojedynczej strony HTML, ewentualne powi±zane dokumenty, które mog± byæ potrzebne do poprawnego jej wy¶wietlenia, nie s± pobierane. Pomóc mo¿e u¿ycie opcji -r z -l, ale poniewa¿ Wget normalnie nie odró¿nia dokumentów zewnêtrznych od w³±czonych, na ogó³ pozostaje siê z ,,oskubanymi dokumentami'', którym brakuje potrzebnych elementów towarzysz±cych.

Na przyk³ad, powiedzmy, ¿e dokument 1.html zawiera znacznik "<IMG>" odnosz±cy siê do 1.gif i znacznik "<A>" wskazuj±cy na zewnêtrzny dokument 2.html. Powiedzmy, ¿e 2.html jest podobny, tyle, ¿e jego obrazkiem jest 2.gif a odno¶nik wskazuje na 3.html. Za³ó¿my, ¿e kontynuujemy takie zale¿no¶ci a¿ do jakiej¶ dowolnie du¿ej liczby.

Je¶li wykona siê polecenie:


        wget -r -l 2 http://I<o¶rodek>/1.html





to zostan± pobrane 1.html, 1.gif, 2.html, 2.gif i 3.html. Jak widaæ, 3.html nie posiada towarzysz±cego mu elementu, gdy¿ Wget w celu okre¶lenia miejsca, gdzie powinien przerwaæ rekurencjê po prostu zlicza liczbê skoków (a¿ do 2) od pocz±tkowego 1.html. Jednak przy takim poleceniu:

        wget -r -l 2 -p http://I<o¶rodek>/1.html





zostan± ¶ci±gniête wszystkie powy¿sze pliki oraz wymagany przez 3.html plik 3.gif. Podobnie,

        wget -r -l 1 -p http://I<o¶rodek>/1.html





spowoduje pobranie 1.html, 1.gif, 2.html i 2.gif. Mo¿na by s±dziæ, ¿e:

        wget -r -l 0 -p http://I<o¶rodek>/1.html





pobra³oby tylko 1.html i 1.gif, ale niestety tak nie jest, gdy¿ -l 0 jest równowa¿nikiem -l inf --- czyli nieskoñczonej rekurencji. Do pobrania pojedynczej strony HTML (lub ich grupy, wszystkich podanych w wierszu poleceñ lub w pliku wej¶ciowym URL-i -i) i towarzysz±cych jej (lub im) elementów, wystarczy pomin±æ -r i -l:

        wget -p http://I<o¶rodek>/1.html





Zauwa¿, ¿e Wget zachowa siê tak, jakby podano opcjê -r, ale zostanie pobrana tylko pojedyncza strona i jej elementy. Program nie bêdzie pod±¿a³ za odno¶nikami z tej strony do zewnêtrznych dokumentów. Faktycznie, do ¶ci±gania pojedynczej strony i wszystkich towarzysz±cych jej elementów (nawet je¶li le¿± one na odrêbnych serwerach WWW) i upewnienia siê, ¿e ca³o¶æ lokalnie poprawnie siê wy¶wietla, autor oprócz -p korzysta z kilku dodatkowych opcji:

        wget -E -H -k -K -p http://I<o¶rodek>/I<dokument>





Koñcz±c ten temat, warto wiedzieæ, ¿e Wget uwa¿a za odno¶nik do dokumentu zewnêtrznego ka¿dy URL podany w znaczniku "<A>", "<AREA>" lub "<LINK>", oprócz "<LINK REL="stylesheet">".

Opcje rekurencyjnego akceptowania/odrzucania


-A lista_akc ---accept lista_akc

-R lista_odrz ---reject lista_odrz
Podaje listê oddzielonych przecinkami przyrostków nazw plików (rozszerzeñ plików) lub wzorców nazw, jakie maj± byæ akceptowane lub odrzucane..
-D lista_domen

---domains=lista_domen
Ustala domeny, do których program mo¿e przechodziæ. lista_domen jest list± separowan± przecinkami. Zauwa¿, ¿e ta opcja nie w³±cza -H.
---exclude-domains lista_domen
Podaje domeny, do których program ma nie przechodziæ..
---follow-ftp
Pod±¿a za odno¶nikami FTP z dokumentów HTTP. Bez tej opcji Wget bêdzie ignorowa³ wszelkie odno¶niki do FTP.
---follow-tags=lista
Wget ma wewnêtrzn± tablicê par: znacznik HTML/atrybut, któr± pos³uguje siê przy poszukiwaniu powi±zanych dokumentów podczas pobierania rekurencyjnego. Je¶li jednak chcieliby¶my, by brany by³ pod uwagê tylko pewien podzbiór tych znaczników, powinni¶my u¿yæ tej opcji, podaj±c je w postaci listy separowanej przecinkami.
-G lista

---ignore-tags=lista
Jest to przeciwieñstwo opcji ---follow-tags. Dziêki podaniu listy rozdzielonych przecinkami znaczników HTML mo¿na pomin±æ je podczas rekurencyjnego szukania dokumentów do pobrania.

Niegdy¶ opcja -G, u¿yta w wierszu poleceñ:


        wget -Ga,area -H -k -K -r http://I<o¶rodek>/I<dokument>





by³a najlepszym wyborem do ¶ci±gania pojedynczej strony razem z jej elementami.

Jednak autor tej opcji przeszed³ przez stronê ze znacznikami typu "<LINK REL="home" HREF="/">" i u¶wiadomi³ sobie, ¿e -G nie wystarcza. Nie mo¿na po prostu nakazaæ Wget ignorowania "<LINK>", gdy¿ wówczas nie bêd± ¶ci±gane arkusze stylów. Obecnie najlepszym sposobem pobierania pojedynczej stony razem z jej elementami jest specjalnie przeznaczona do tego opcja ---page-requisites.

-H

---span-hosts
W³±cza przechodzenie pomiêdzy hostami przy pobieraniu rekurencyjnym.
-L

---relative
Pod±¿a tylko za odno¶nikami wzglêdnymi. Przydatne do pobierania konkretnej strony bez ¿adnych odwracaj±cych uwagê dodatków, nawet z tego samego hosta..
-I lista

---include-directories=lista
Okre¶la listê rozdzielonych przecinkami katalogów, do których ma przechodziæ program podczas pobierania Elementy listy mog± zawieraæ znaki uogólniaj±ce.
-X lista

---exclude-directories=lista
Okre¶la listê rozdzielonych przecinkami katalogów, które chcemy wykluczyæ z pobierania Elementy listy mog± zawieraæ znaki uogólniaj±ce.
-np

---no-parent
Powoduje, ¿e Wget przy pobieraniu rekurencyjnym nigdy nie wchodzi do katalogu nadrzêdnego. Przydatna opcja, gdy¿ gwarantuje, ¿e ¶ci±gane bêd± tylko pliki poni¿ej pewnego poziomu.

PRZYK£ADY

Przyk³ady podzielono na trzy czê¶ci, z grubsza wed³ug stopnia komplikacji.

Proste zastosowania


*
Powiedzmy, ¿e chcemy ¶ci±gn±æ jaki¶ URL. Wystarczy napisaæ:

        wget http://fly.srk.fer.hr/






*
Ale co siê stanie, je¶li ³±cze jest powolne, a plik d³ugi? Po³±czenie prawdopodobnie zawiedzie zanim zostanie pobrany ca³y plik. W takiej sytuacji Wget bêdzie usi³owa³ pobraæ plik dopóki nie ¶ci±gnie ca³ego albo nie przekroczy domy¶lnej liczby ponawiañ (wynosz±c± 20). Mo¿na ³atwo zmieniæ liczbê prób na 45, by upewniæ siê, ¿e ca³y plik dotrze bezpiecznie:

        wget --tries=45 http://fly.srk.fer.hr/jpg/flyweb.jpg






*
A teraz pozostawmy program Wget pracuj±cy w tle i zapisuj±cy informacje o postêpach ¶ci±gania do pliku dziennika log. Wpisywanie ---tries jest mêcz±ce, wiêc u¿yjemy -t:

        wget -t 45 -o log http://fly.srk.fer.hr/jpg/flyweb.jpg &





Znak "&" na koñcu linijki zapewnia, ¿e Wget bêdzie dzia³aæ w tle. Ograniczenie liczby ponawiañ mo¿na zlikwidowaæ stosuj±c -t inf.
*
Sposób u¿ycia FTP jest równie prosty. Wget zajmie siê nazw± zg³oszeniow± (login) i has³em.

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






*
Je¶li podamy katalog, to program pobierze jego listing, przetworzy go i przekszta³ci na HTML. Mo¿na spróbowaæ:

        wget ftp://prep.ai.mit.edu/pub/gnu/

        links index.html





Zaawansowane zastosowania


*
Mamy gotowy plik z list± URL-i, które chcemy pobraæ? Wystarczy skorzystaæ z prze³±cznika -i:

        wget -i I<plik>





Je¶li jako nazwê pliku podamy -, to URL-e bêd± czytane ze standardowego wej¶cia.
*
! Create a five levels deep mirror image of the GNU web site, with the ! same directory structure the original has, with only one try per ! document, saving the log of the activities to gnulog:

Stworzymy siêgaj±cy piêciu poziomów obraz lustrzany witryny WWW GNU (z t± sam± struktur± katalogów, jak± ma orygina³), stosuj±c tylko jedn± próbê pobierania dla ka¿dego dokumentu i zapisuj±c dziennik pracy do gnulog:


        wget -r http://www.gnu.org/ -o gnulog






*
To samo co powy¿ej, ale z konwersj± odno¶ników w plikach HTML tak, ¿eby wskazywa³y na lokalne pliki, by mo¿na by³o przegl±daæ dokumenty off-line:

        wget --convert-links -r http://www.gnu.org/ -o gnulog






*
Pobranie tylko jednej strony HTML, ale z upewnieniem siê, ¿e wszystkie elementy niezbêdne do jej wy¶wietlenia (np. wstawione obrazki i zewnêtrzne arkusze stylu) równie¿ zostan± pobrane. Zapewnia te¿, ¿e ¶ci±gniêta strona wskazuje na pobrane odno¶niki. Ponadto odno¶niki w pobranej stronie powinny wskazywaæ na pobrane kopie elementów.

        wget -p --convert-links http://www.server.com/dir/strona.html





Wybrana strona HTML zostanie zapisana do www.server.com/dir/strona.html, a obrazki, arkusze stylu itd. gdzie¶ w katalogu www.server.com/, zale¿nie od tego, gdzie znajdowa³y siê na zdalnym serwerze.
*
Tak samo, jak wy¿ej, ale bez katalogu www.server.com/. W gruncie rzeczy wcale nie chcê tych wszystkich przypadkowych katalogów z serwera --- chcê po prostu zapisaæ wszystkie pobrane pliki w podkatalogu download/ bie¿±cego katalogu.

        wget -p --convert-links -nH -nd -Pdownload \

             http://www.server.com/dir/strona.html






*
Pobranie index.html z www.lycos.com, z pokazaniem oryginalnych, odebranych od serwera nag³ówków:

        wget -S http://www.lycos.com/






*
Zapisanie nag³ówków serwera w pliku, zapewne do koñcowego przetwarzenia:

        wget -s http://www.lycos.com/

        more index.html






*
Pobranie pierwszych dwu poziomów wuarchive.wustl.edu, z zapisaniem ich do /tmp.

        wget -r -l2 -P/tmp ftp://wuarchive.wustl.edu/






*
Chcemy ¶ci±gn±æ wszystkie GIF-y z pewnego katalogu serwera HTTP. Próbowali¶my wget http://www.server.com/dir/*.gif, ale nie zadzia³a³o, bo pobieranie HTTP nie realizuje masek plików. W takim przypadku stosujemy:

        wget -r -l1 --no-parent -A.gif http://www.server.com/dir/





Wiêcej pisaniny, ale skutek jest taki sam. -r -l1 oznacza pobieranie rekurencyjne, z maksymaln± g³êboko¶ci± 1. ---no-parent znaczy, ¿e odwo³ania do katalogu nadrzêdnego maj± byæ ignorowane, a -A.gif oznacza ¶ci±ganie tylko plików GIF. Dzia³a³oby te¿ -A ``*.gif''.
*
Za³ó¿my, ¿e byli¶my w po³owie ¶ci±gania, gdy nagle przerwano pracê Wget. Nie chcieliby¶my teraz nadpisywaæ ju¿ obecnych plików ponownie ¶ci±ganymi. Napisaliby¶my:

        wget -nc -r http://www.gnu.org/






*
Do zakodowania swojej nazwy u¿ytkownika i has³a do HTTP lub FTP u¿ywamy odpowiedniej sk³adni URL-a.

        wget ftp://hniksic:mojehaslo@unix.server.com/.emacs





Nale¿y jednak zauwa¿yæ, ¿e w systemach wielodostêpnych taki sposob u¿ycia jest niezalecany, poniewa¿ ujawnia has³o ka¿demu, kto spojrzy na wynik dzia³ania "ps".

A mo¿e chcieliby¶my, ¿eby dokumenty wynikowe by³y kierowane na standardowe wyj¶cie, a nie zapisywane do plików?


        wget -O - http://jagor.srce.hr/ http://www.srce.hr/





Mo¿na te¿ ³±czyæ te dwie opcje i tworzyæ potoki do pobierania dokumentów ze zdalnych list przebojów:

        wget -O - http://cool.list.com/ | wget --force-html -i -





Bardzo zaawansowane zastosowania


*
Je¶li chcemy, by Wget utrzymywa³ lustrzan± kopiê strony (lub podkatalogów FTP), stosujemy ---mirror (-m), co jest skróconym zapisem dla -r -l inf -N. Umieszczamy Wget w pliku crontab, ¿±daj±c, by w ka¿d± niedzielê ponawia³ sprawdzanie o¶rodka:

        crontab

        0 0 * * 0 wget --mirror http://www.gnu.org/ -o /home/ja/weeklog






*
Dodatkowo mo¿na za¿yczyæ sobie konwersji odno¶ników, tak by ca³o¶æ nadawa³a siê do przegl±dania lokalnie. Jednak, po przeczytaniu tego podrêcznika, wiecie ju¿, ¿e taka konwersja nie sprawuje siê dobrze, gdy wykorzystujemy znaczniki czasu, wiêc chcemy równie¿, ¿eby Wget utworzy³ kopie oryginalnych plików HTML przed ich przekszta³ceniem. Odpowiednie Wywo³anie wygl±da³oby tak:

        wget --mirror --convert-links --backup-converted  \

             http://www.gnu.org/ -o /home/ja/weeklog






*
Ale zauwa¿yli¶cie te¿, ¿e lokalne przegl±danie nie dzia³a ca³kiem poprawnie, je¶li pliki HTML zapisano z innym rozszerzeniem ni¿ .html, na przyk³ad dlatego, ¿e dostarczono je jako index.cgi. Zatem chcieliby¶my, ¿eby Wget wszystkim plikom przekazanym z nag³ówkiem content-type równym text/html zmieni³ nazwy na nazwa.html.

        wget --mirror --convert-links --backup-converted \

             --html-extension -o /home/ja/weeklog        \

             http://www.gnu.org/





Lub te¿, pisz±c krócej:

        wget -m -k -K -E http://www.gnu.org/ -o /home/me/weeklog





PLIKI


/etc/wgetrc
Domy¶lne po³o¿enie globalnego pliku startowego.
.wgetrc
Prywatny plik startowy u¿ytkownika.

B£ÊDY

Zachêcamy do przesy³ania zg³oszeñ b³êdów dotycz±cych GNU Wget na adres <"bug-wget@gnu.org">.

Przed faktycznym przed³o¿eniem zg³oszenia b³êdu, spróbuj, proszê, zastosowaæ siê do kilku prostych wskazówek.

1.
Spróbuj upewniæ siê, ¿e obserwowane zachowanie jest rzeczywi¶cie b³êdem. Je¶li Wget siê wywala, jest to b³±d. Je¶li nie zachowuje siê zgodnie z dokumentacj±, jest to b³±d. Je¶li co¶ dzia³a dziwnie, ale nie jeste¶ pewien, w jaki sposób powinno, mo¿e to te¿ byæ b³êdem.
2.
Spróbuj, proszê, powtórzyæ ten b³±d w mo¿liwie najprostszych warunkach. Np. je¶li Wget pada podczas ¶ci±gania wget -rl0 -kKE -t5 -Y0 http://yoyodyne.com -o /tmp/log, powiniene¶ spróbowaæ sprawdziæ, czy to wywalanie siê jest powtarzalne i czy pojawia siê przy prostszym zestawie opcji. Mo¿esz nawet spróbowaæ zacz±æ pobieranie od strony, przy której wyst±pi³a awaria i sprawdziæ, czy to nie ta strona w jaki¶ sposób j± powoduje.

Ponadto, choæ co prawda prawdopodobnie bêdê zainteresowany zawarto¶ci± twojego pliku .wgetrc, skopiowanie go po prostu do wiadomo¶ci o b³êdzie jest raczej z³ym pomys³em. Zamiast tego, powiniene¶ najpierw sprawdziæ, czy b³±d powtarza siê przy .wgetrc przesuniêtym na ubocze. Prze¶lij mi odpowiednie fragmenty tego pliku tylko wtedy, gdy oka¿e siê, ¿e b³±d zale¿y od ustawieñ .wgetrc.

3.
Uruchom, proszê, Wget z opcj± -d i prze¶lij uzyskany protokó³ (lub zwi±zane z b³êdem jego czê¶ci). Je¶li Wget zosta³ skompilowany bez obs³ugi debugowania, skompiluj go ponownie. Du¿o ³atwiej jest ¶ledziæ b³êdy z udostêpnion± diagnostyk±.
4.
je¶li Wget siê wywala, spróbuj uruchomiæ go w debugerze, np. "gdb `which wget` core" i wpisz "where", by otrzymaæ stos wywo³ania (backtrace).

ZOBACZ TAK¯E

Plik GNU Info dla wget.

AUTOR

Pierwotnie napisane przez Hrvoje Niksic <hniksic@arsdigita.com>. Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.

Zezwala siê na sporz±dzanie i rozpowszechnianie niezmienionych kopii tego podrêcznika, pod warunkiem zachowania na wszystkich kopiach informacji o prawach autorskich i niniejszego zezwolenia.

Zezwala siê na kopiowanie, rozpowszechnianie i/lub modyfikowanie tego dokumentu na warunkach Licencji Wolnej Dokumentacji GNU (GNU Free Documentation License) w wersji 1.1 lub jakiejkolwiek nowszej wersji opublikowanej przez Fundacjê Wolnego Oprogramowania, przy czym Sekcjami niezmiennymi s± ,,GNU General Public License'' i ,,GNU Free Documentation License'', bez tre¶ci przedniej lub tylnej strony ok³adki. Egzemplarz licencji zamieszczono w sekcji zatytu³owanej ,,GNU Free Documentation License''.