Available in

(1) (1)/cs (1)/hu (1)/pl

Contents

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 [AT] unix.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 [AT] 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 [AT] arsdigita.com>.

COPYRIGHT

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’’.

INFORMACJE O TŁUMACZENIU

Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika.

COMMENTS

blog comments powered by Disqus