.\" transl. by W.Kotwica , Oct 2002 .\" .\" Automatically generated by Pod::Man version 1.15 .\" Thu Oct 24 07:23:22 2002 .\" .\" Standard preamble: .\" ====================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used .\" to do unbreakable dashes and therefore won't be available. \*(C` and .\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr .\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and .\" index entries marked with X<> in POD. Of course, you'll have to process .\" the output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it .\" makes way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. .bd B 3 . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ====================================================================== .\" .IX Title "WGET 1" .TH WGET 1 "GNU WGet 1.8.2" "2002-10-24" "GNU Wget" .UC .SH "NAZWA" .IX Header "NAZWA" wget \- Podręcznik \s-1GNU\s0 Wget .SH "SKŁADNIA" .IX Header "SKŁADNIA" wget [\fIopcja\fR]... [\fI\s-1URL\s0\fR]... .SH "OPIS" \fI Uwaga! To tłumaczenie może być nieaktualne!\fP .PP .IX Header "OPIS" \&\s-1GNU\s0 Wget jest darmowym programem narzędziowym do pobierania plików z World Wide Web. Obsługuje protokoły \s-1HTTP\s0, \s-1HTTPS\s0 i \s-1FTP\s0, a także pobieranie poprzez serwery proxy \s-1HTTP\s0. .PP Wget potrafi podążać za odnośnikami zawartymi w stronach \s-1HMTL\s0 i tworzyć lokalne wersje zdalnych witryn \s-1WWW\s0, 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 (\fI/robots.txt\fR). Możliwe jest poinstruowanie programu, by w pobieranych plikach \s-1HTML\s0 przekształcał odnośniki tak, aby wskazywały na lokalne kopie, do przeglądania bez połączenia. .PP 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. .SH "OPCJE" .IX Header "OPCJE" .Sh "Podstawowe opcje uruchamiania" .IX Subsection "Podstawowe opcje uruchamiania" .Ip "\fB\-V\fR" 4 .IX Item "-V" .PD 0 .Ip "\fB\*(--version\fR" 4 .IX Item "version" .PD Wyświetla wersję Wget. .Ip "\fB\-h\fR" 4 .IX Item "-h" .PD 0 .Ip "\fB\*(--help\fR" 4 .IX Item "help" .PD Wypisuje komunikat pomocy, opisujący wszystkie opcje, jakie można przekazać Wget w wierszu poleceń. .Ip "\fB\-b\fR" 4 .IX Item "-b" .PD 0 .Ip "\fB\*(--background\fR" 4 .IX Item "background" .PD Przechodzi w tło natychmiast po rozpoczęciu pracy. Jeśli nie podano pliku wyjściowego za pomocą \fB\-o\fR, wyjście jest przekierowywane do \fIwget-log\fR. .Ip "\fB\-e\fR \fIpolecenie\fR" 4 .IX Item "-e polecenie" .PD 0 .Ip "\fB\*(--execute\fR \fIpolecenie\fR" 4 .IX Item "execute polecenie" .PD Wykonuje \fIpolecenie\fR tak, jakby było częścią \fI.wgetrc\fR. Polecenie wywołane w ten sposób zostanie wykonane \&\fIpo\fR poleceniach z \fI.wgetrc\fR, więc będzie mieć nad nimi priorytet. .Sh "Opcje dziennika i pliku wejściowego" .IX Subsection "Opcje dziennika i pliku wejściowego" .Ip "\fB\-o\fR \fIdziennik\fR" 4 .IX Item "-o dziennik" .PD 0 .Ip "\fB\*(--output-file=\fR\fIdziennik\fR" 4 .IX Item "output-file=dziennik" .PD Rejestruje wszystkie komunikaty w pliku \fIdziennika\fR. Normalnie są zgłaszane na standardowym wyjściu błędów. .Ip "\fB\-a\fR \fIdziennik\fR" 4 .IX Item "-a dziennik" .PD 0 .Ip "\fB\*(--append-output=\fR\fIdziennik\fR" 4 .IX Item "append-output=dziennik" .PD Dodaje komunikaty na końcu pliku \fIdziennika\fR. Jest to to samo, co \fB\-o\fR, tyle że dopisuje do \fIdziennika\fR zamiast nadpisywać stary. Jeśli plik \fIdziennik\fR nie istnieje, jest tworzony. .Ip "\fB\-d\fR" 4 .IX Item "-d" .PD 0 .Ip "\fB\*(--debug\fR" 4 .IX Item "debug" .PD 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 \&\fB\-d\fR nie będzie działać. Należy zauważyć, że kompilacja z obsługą diagnostyki jest zawsze bezpieczna \*(-- Wget skompilowany w ten sposób \&\fInie\fR będzie wypisywał żadnych informacji diagnostycznych dopóki nie zażądamy tego opcją \fB\-d\fR. .Ip "\fB\-q\fR" 4 .IX Item "-q" .PD 0 .Ip "\fB\*(--quiet\fR" 4 .IX Item "quiet" .PD Tryb cichy. Wyłącza wyjście Wget. .Ip "\fB\-v\fR" 4 .IX Item "-v" .PD 0 .Ip "\fB\*(--verbose\fR" 4 .IX Item "verbose" .PD Pełne wyjście, z wszystkimi dostępnymi danymi. Jest to opcja domyślna. .Ip "\fB\-nv\fR" 4 .IX Item "-nv" .PD 0 .Ip "\fB\*(--non-verbose\fR" 4 .IX Item "non-verbose" .PD Niepełne wyjście \*(-- wyłącza pełne wyjście, ale nie ucisza całkowicie (to robi się opcją \fB\-q\fR); komunikaty o błędach i podstawowe informacje będą nadal wypisywane. .Ip "\fB\-i\fR \fIplik\fR" 4 .IX Item "-i plik" .PD 0 .Ip "\fB\*(--input-file=\fR\fIplik\fR" 4 .IX Item "input-file=plik" .PD Czyta URL-e z pliku wejściowego \fIplik\fR, 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ń. \fIPlik\fR nie musi być dokumentem \s-1HTML\s0 (ale nie przeszkadza, jeśli nim jest) \*(-- wystarczy, że URL-e będą po prostu kolejno spisane. .Sp Jednakże jeśli zostanie podana opcja \fB\*(--force-html\fR, to plik będzie traktowany jak dokument \fBhtml\fR. Mogą się wówczas pojawić kłopoty z odnośnikami względnymi, które można rozwiązać dodając \&\f(CW\*(C`\*(C'\fR do pliku lub podając \fB\*(--base=\fR\fIurl\fR w wierszu poleceń. .Ip "\fB\-F\fR" 4 .IX Item "-F" .PD 0 .Ip "\fB\*(--force-html\fR" 4 .IX Item "force-html" .PD Kiedy wejście jest czytane z pliku, wymusza aby było traktowane jako \&\s-1HTML\s0. Pozwala to na pobieranie względnych odnośników z istniejących plików \s-1HTML\s0 znajdujących się na lokalnym dysku naszego komputera, przez dodanie znacznika \f(CW\*(C`\*(C'\fR do pliku \s-1HTML\s0 lub użycie opcji \fB\*(--base\fR. .Ip "\fB\-B\fR \fI\s-1URL\s0\fR" 4 .IX Item "-B URL" .PD 0 .Ip "\fB\*(--base=\fR\fI\s-1URL\s0\fR" 4 .IX Item "base=URL" .PD Użyte w połączeniu z \fB\-F\fR, stosuje \fI\s-1URL\s0\fR jako podstawę dla odnośników względnych w pliku podanym przez \fB\-i\fR. .Sh "Opcje ściągania" .IX Subsection "Opcje ściągania" .Ip "\fB\*(--bind-address=\fR\fIadres\fR" 4 .IX Item "bind-address=adres" Podczas tworzenia klienckich połączeń \s-1TCP/IP\s0, wiąże z lokalnym komputerem, przez \f(CW\*(C`bind()\*(C'\fR, zadany \fIadres\fR. \fIAdres\fR można podać jako nazwę hosta lub adres \s-1IP\s0. Może się przydać jeśli nasza maszyna ma przypisane kilka adresów \s-1IP\s0. .Ip "\fB\-t\fR \fIliczba\fR" 4 .IX Item "-t liczba" .PD 0 .Ip "\fB\*(--tries=\fR\fIliczba\fR" 4 .IX Item "tries=liczba" .PD Ustawia liczbę ponawiania prób na \fIliczbę\fR. Dla nieskończonego ponawiania podajemy 0 lub \fBinf\fR. .Ip "\fB\-O\fR \fIplik\fR" 4 .IX Item "-O plik" .PD 0 .Ip "\fB\*(--output-document=\fR\fIplik\fR" 4 .IX Item "output-document=plik" .PD Dokumenty nie będą zapisywane do odpowiednich plików, ale wszystkie zostaną sklejone i zapisane do \fIpliku\fR. Jeśli \fIplik\fR istnieje, to zostanie nadpisany. Jeśli jako \fIplik\fR podano \fB-\fR, dokumenty będą zapisane na standardowe wyjście. Włączenie tej opcji automatycznie ustawia liczbę prób na 1. .Ip "\fB\-nc\fR" 4 .IX Item "-nc" .PD 0 .Ip "\fB\*(--no-clobber\fR" 4 .IX Item "no-clobber" .PD Jeśli plik jest pobierany więcej niż raz do tego samego katalogu, zachowanie się Wget zależy od kilku opcji, między innymi \fB\-nc\fR. W pewnych przypadkach istniejący lokalny plik będzie nadpisany, \fIprzebity\fR (ang. clobbered), przy powtórzeniu ściągania. W innych przypadkach zostanie zachowany. .Sp Przy uruchomieniu Wget bez opcji \fB\-N\fR, \fB\-nc\fR lub \fB\-r\fR pobranie tego samego pliku do tego samego katalogu spowoduje pozostawienie pierwotnego egzemplarza \fIpliku\fR i nadanie drugiemu nazwy \&\fIplik\fR\fB.1\fR. Gdy plik będzie ściągany kolejny raz, trzeci egzemplarz otrzyma nazwę \fIfile\fR\fB.2\fR, i tak dalej. Przy podanej opcji \fB\-nc\fR, zachowanie takie jest wstrzymywane, a Wget odmawia pobrania nowszych kopii \fIpliku\fR. Dlatego też, ``\f(CW\*(C`no\-clobber\*(C'\fR'' 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. .Sp Przy uruchomieniu Wget z \fB\-r\fR, ale bez \fB\-N\fR czy \fB\-nc\fR, ponowne ściągnięcie pliku powoduje, że nowa kopia po prostu nadpisuje starą. Dodanie \fB\-nc\fR zapobiega takiemu zachowaniu, skutkując zamiast tego zachowaniem pierwotnej wersji i ignorowaniem ewentualnych nowe kopii z serwera. .Sp Przy uruchomieniu Wget z \fB\-N\fR, z opcją \fB\-r\fR 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. \fB\-nc\fR nie można podawać równocześnie z \fB\-N\fR. .Sp Zauważ, że jeśli podano \fB\-nc\fR, pliki z przyrostkami \fB.html\fR lub \fB.htm\fR (fuj) będą odczytywane z dysku i przetwarzane tak, jakby zostały pobrane z Sieci. .Ip "\fB\-c\fR" 4 .IX Item "-c" .PD 0 .Ip "\fB\*(--continue\fR" 4 .IX Item "continue" .PD 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: .Sp .Vb 1 \& wget \-c ftp://sunsite.doc.ic.ac.uk/ls\-lR.Z .Ve Jeśli w bieżącym katalogu istnieje plik \fIls-lR.Z\fR, 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. .Sp 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 \fB\-c\fR wpływa tylko na wznawianie pobrań zaczętych \fIprzed\fR bieżącym wywołaniem Wget i tylko dla tych plików, których lokalne kopie nadal istnieją. .Sp Bez \fB\-c\fR, polecenie z poprzedniego przykładu pobrałby po prostu zdalny plik do \fIls-lR.Z.1\fR, pozostawiając w spokoju obcięty plik \fIls-lR.Z\fR. .Sp Począwszy od Wget 1.7, jeśli użyjemy \fB\-c\fR 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. .Sp Również od wersji 1.7, jeśli użyjemy \fB\-c\fR 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. .Sp Z drugiej strony, przy stosowaniu \fB\-c\fR, 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 \&\f(CW\*(C`(length(zdalny) \- length(lokalny))\*(C'\fR bajtów. W pewnych przypadkach takie zachowanie jest pożądane \*(-- na przykład, można skorzystać z \fBwget \-c\fR do ściągnięcia tylko nowej porcji danych, dopisanej na końcu zbioru danych czy pliku dziennika. .Sp Jednakże, jeśli plik na serwerze jest większy dlatego, że został \fIzmieniony\fR, a nie tylko \fIdoklejono\fR 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 \fB\-c\fR w połączeniu z \fB\-r\fR, gdyż każdy plik będzie uważany za kandydata na \*(L"nieukończone ściąganie\*(R". .Sp Inną sytuacja, w której przy korzystaniu z \fB\-c\fR uzyskuje się zniekształcony plik, zachodzi, gdy mamy do czynienia z ułomnym proxy \s-1HTTP\s0, 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. .Sp Zauważ, że \fB\-c\fR działa tylko z serwerami \s-1FTP\s0 i \s-1HTTP\s0, które obsługują nagłówek \f(CW\*(C`Range\*(C'\fR. .Ip "\fB\*(--progress=\fR\fItyp\fR" 4 .IX Item "progress=typ" Umożliwia wskazanie typu wskaźnika postępu. Dozwolonymi rodzajami wskaźnika są ,,dot'' (kropka) i ,,bar'' (pasek). .Sp Domyślnie stosowany jest wskaźnik ,,bar''. Rysowany jest wówczas pasek postępu złożony ze znaków graficznych \s-1ASCII\s0 (zwany czasem wskaźnikiem ,,termometrowym''), wskazujący stan pobierania. Jeżeli wyjściem programu nie jest \s-1TTY\s0, to domyślnie zostanie użyty wskaźnik typu ,,dot''. .Sp W celu przełączenia na wyświetlanie kropek należy użyć \fB\*(--progress=dot\fR. Postępy ściągania pokazują wtedy wypisywane na ekranie kropki, z których każda symbolizuje ustaloną ilość pobranych danych. .Sp Przy korzystaniu z tego wskaźnika, można także ustalić \fIstyl\fR. Wykonuje się to podając typ wskaźnika w postaci \fBdot:\fR\fIstyl\fR. W różnych stylach pojedynczej kropce przypisuje się różne znaczenie. W stylu \f(CW\*(C`default\*(C'\fR każda kropka oznacza 1K, grupa liczy dziesięć kropek, a wiersz 50 kropek. Styl \f(CW\*(C`binary\*(C'\fR 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 \&\f(CW\*(C`mega\*(C'\fR \*(-- każda kropka symbolizuje pobrane 64K, w grupie jest osiem kropek, a w wierszu 48 (więc każdy wiersz zawiera 3M). .Sp Warto zauważyć, że domyślny rodzaj wskaźnika postępu możemy ustalić umieszczając w pliku \fI.wgetrc\fR polecenie \f(CW\*(C`progress\*(C'\fR. Takie ustawienie jest przesłaniane przez opcję podaną w wierszu poleceń. Wyjątek stanowi sytuacja, kiedy wyjściem nie jest \s-1TTY\s0 \*(-- wówczas typ ,,dot'' będzie miał pierwszeństwo nad ,,bar''. Da się jednak wymusić wskaźnik w postaci paska, stosując \fB\*(--progress=bar:force\fR. .Ip "\fB\-N\fR" 4 .IX Item "-N" .PD 0 .Ip "\fB\*(--timestamping\fR" 4 .IX Item "timestamping" .PD Włącza stosowanie znaczników czasu (time-stamping). .Ip "\fB\-S\fR" 4 .IX Item "-S" .PD 0 .Ip "\fB\*(--server-response\fR" 4 .IX Item "server-response" .PD Wypisuje nagłówki wysyłane przez serwery \s-1HTTP\s0 i odpowiedzi wysyłane przez serwery \s-1FTP\s0. .Ip "\fB\*(--spider\fR" 4 .IX Item "spider" Wywołąny z tą opcją, Wget będzie zachowywał się jak sieciowy \fIpająk\fR (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: .Sp .Vb 1 \& wget \-\-spider \-\-force\-html \-i bookmarks.html .Ve Ta funkcja wymaga jeszcze wiele pracy, by Wget osiągnął możliwości zbliżone do prawdziwych pająków \s-1WWW\s0. .Ip "\fB\-T seconds\fR" 4 .IX Item "-T seconds" .PD 0 .Ip "\fB\*(--timeout=\fR\fIsekundy\fR" 4 .IX Item "timeout=sekundy" .PD Ustawia limit czasu czytania na podaną liczbę \fIsekund\fR. 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. .Sp Proszę nie obniżać domyślnej wartości limitu czasu tą opcją, chyba że z pełną świadomością skutków. .Ip "\fB\*(--limit-rate=\fR\fIwielkość\fR" 4 .IX Item "limit-rate=wielkość" Ogranicza prędkości pobierania do \fIwielkość\fR bajtów na sekundę. Wielkość tę można wyrazić w bajtach, kilobajtach (przyrostkiem \fBk\fR) lub megabajtach (przyrostkiem \fBm\fR) na sekundę. Na przykład \&\fB\*(--limit-rate=20k\fR 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. .Sp 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 \s-1TCP\s0 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 \&\*(L"zasypiania\*(R" nie zda egzaminu, jeśli poda się zbyt małe pasmo, dajmy na to mniejsze niż 1,5KB/s. .Ip "\fB\-w\fR \fIsekundy\fR" 4 .IX Item "-w sekundy" .PD 0 .Ip "\fB\*(--wait=\fR\fIsekundy\fR" 4 .IX Item "wait=sekundy" .PD 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 \f(CW\*(C`m\*(C'\fR, w godzinach \- dodając \f(CW\*(C`h\*(C'\fR lub w dniach \&\- dodając \f(CW\*(C`d\*(C'\fR. .Sp 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. .Ip "\fB\*(--waitretry=\fR\fIsekundy\fR" 4 .IX Item "waitretry=sekundy" Opcję tę stosujemy jeśli nie chcemy, by Wget czekał pomiędzy \fIkażdym\fR pobraniem, a tylko pomiędzy ponawianymi próbami nieudanych pobrań. Wget zastosuje \fIodczekiwanie liniowe\fR (\fIlinear backoff\fR), czekając 1 sekundę po pierwszym niepowodzeniu z danym plikiem, następnie 2 sekundy po drugim niepowodzeniu z tym plikiem, aż do maksymalnej liczby \fIsekund\fR, jaką podano. Zatem, wartość 10 faktycznie spowoduje, że Wget będzie odczekiwał łącznie do (1 + 2 + ... + 10) = 55 sekund na każdy plik. .Sp Zauważ, że w ogólnosystemowym pliku \fIwgetrc\fR ta opcja jest domyślnie włączona. .Ip "\fB\*(--random-wait\fR" 4 .IX Item "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 * \fIsekundy\fR, gdzie \fIsekundy\fR podano opcją \fB\*(--wait\fR (\fB\-w\fR). .Sp 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 \s-1DHCP\s0. .Sp Opcja \fB\*(--random-wait\fR 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. .Ip "\fB\-Y on/off\fR" 4 .IX Item "-Y on/off" .PD 0 .Ip "\fB\*(--proxy=on/off\fR" 4 .IX Item "proxy=on/off" .PD Włącza/wyłącza używanie proxy. Domyślnie używanie proxy jest włączone jeśli jest zdefiniowana odpowiednia zmienna środowiskowa. .Ip "\fB\-Q\fR \fIwielkość\fR" 4 .IX Item "-Q wielkość" .PD 0 .Ip "\fB\*(--quota=\fR\fIwielkość\fR" 4 .IX Item "quota=wielkość" .PD Określa ograniczenie wielkości pobieranych danych przy ściąganiu automatycznym. Limit podawany jest w bajtach (domyślnie), kilobajtach (z przyrostkiem \fBk\fR) lub megabajtach (z przyrostkiem \fBm\fR). .Sp Warto pamiętać, że ograniczenie to nigdy nie dotyczy pobierania pojedynczego pliku. Tak więc, jeśli podamy \&\fBwget \-Q10k ftp://wuarchive.wustl.edu/ls-lR.gz\fR, to zostanie ściągnięty cały plik \fIls-lR.gz\fR. 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ć \fBwget \-Q2m \-i witryny\fR \&\-\- po przekroczeniu ograniczenia ściąganie zostanie przerwane. .Sp Ustawienie limitu na 0 lub na \fBinf\fR znosi ograniczenie pobierania. .Sh "Opcje katalogów" .IX Subsection "Opcje katalogów" .Ip "\fB\-nd\fR" 4 .IX Item "-nd" .PD 0 .Ip "\fB\*(--no-directories\fR" 4 .IX Item "no-directories" .PD 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 \fB.n\fR). .Ip "\fB\-x\fR" 4 .IX Item "-x" .PD 0 .Ip "\fB\*(--force-directories\fR" 4 .IX Item "force-directories" .PD Przeciwieństwo \fB\-nd\fR. Wymusza utworzenie hierarchii katalogów nawet jeśli nie miałaby być stworzona. Np. \fBwget \-x http://fly.srk.fer.hr/robots.txt\fR zapisze ściągnięty plik jako \fIfly.srk.fer.hr/robots.txt\fR. .Ip "\fB\-nH\fR" 4 .IX Item "-nH" .PD 0 .Ip "\fB\*(--no-host-directories\fR" 4 .IX Item "no-host-directories" .PD Wyłącza tworzenie katalogów z nazwą hosta jako przedrostkiem. Domyślnie, \&\fB\-r http://fly.srk.fer.hr/\fR spowoduje stworzenie struktury katalogów zaczynającej się od \fIfly.srk.fer.hr/\fR, gdzie trafi cała reszta. Ta opcja wyłącza takie zachowanie. .Ip "\fB\*(--cut-dirs=\fR\fIliczba\fR" 4 .IX Item "cut-dirs=liczba" Ignoruje podaną \fIliczbę\fR składowych katalogu. Przydatne do precyzyjnego sterowania katalogami, w których będą składowane pliki z pobierania rekurencyjnego. .Sp Weźmy, na przykład, katalog \fBftp://ftp.xemacs.org/pub/xemacs/\fR. Jeżeli pobierzemy go z \fB\-r\fR, to lokalnie zostanie zachowany jako \&\fIftp.xemacs.org/pub/xemacs/\fR. Mimo że opcja \fB\-nH\fR pozwala na usunięcie części \fIftp.xemacs.org/\fR, nadal utkniemy z \fIpub/xemacs\fR. Tu właśnie z pomocą przychodzi \fB\*(--cut-dirs\fR. Powoduje, że Wget ``nie widzi'' zadanej \fIliczby\fR składowych zdalnego katalogu. Oto kilka przykładów pokazujących, jak działa opcja \fB\*(--cut-dirs\fR. .Sp .Vb 4 \& No options -> ftp.xemacs.org/pub/xemacs/ \& \-nH \-> pub/xemacs/ \& \-nH \-\-cut\-dirs=1 \-> xemacs/ \& \-nH \-\-cut\-dirs=2 \-> . .Ve .Vb 2 \& \-\-cut\-dirs=1 \-> ftp.xemacs.org/xemacs/ \& ... .Ve Jeśli chcemy po prostu pozbyć się struktury katalogów, to opcja ta jest podobna do kombinacji \fB\-nd\fR i \fB\-P\fR. Jednak \fB\*(--cut-dirs\fR, w przeciwieństwie do \fB\-nd\fR, nie pozbywa się podkatalogów \*(-- na przykład, przy \fB\-nH \-\-cut-dirs=1\fR, podkatalog \fIbeta/\fR będzie, zgodnie z oczekiwaniami, umieszczony w \fIxemacs/beta\fR. .Ip "\fB\-P\fR \fIprefiks\fR" 4 .IX Item "-P prefiks" .PD 0 .Ip "\fB\*(--directory-prefix=\fR\fIprefiks\fR" 4 .IX Item "directory-prefix=prefiks" .PD Ustawia przedrostek, prefiks katalogów na \fIprefiks\fR. \&\fIPrzedrostek katalogów\fR oznacza katalog, zostaną zapisane wszystkie inne pliki i katalogi, tzn. wierzchołek drzewa pobierania. Domyślnym przedrostkiem jest \fB.\fR, katalog bieżący. .Sh "Opcje \s-1HTTP\s0" .IX Subsection "Opcje HTTP" .Ip "\fB\-E\fR" 4 .IX Item "-E" .PD 0 .Ip "\fB\*(--html-extension\fR" 4 .IX Item "html-extension" .PD Jeśli pobierany jest plik typu \fBtext/html\fR a jego \s-1URL\s0 nie kończy się wyrażeniem regularnym \fB\e.[Hh][Tt][Mm][Ll]?\fR, to opcja ta spowoduje dodanie przyrostka \fB.html\fR do lokalnej nazwy pliku. Przydatne, na przykład, gdy tworzymy kopię lustrzaną witryny, która używa stron \&\fB.asp\fR, 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 \s-1CGI\s0. \s-1URL\s0 typu \&\fBhttp://site.com/article.cgi?25\fR zostanie zachowany jako \&\fIarticle.cgi?25.html\fR. .Sp 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 \fI\fIX\fI.html\fR odpowiada zdalnemu URL-owi \fIX\fR (gdyż nie wie, że ten \s-1URL\s0 tworzy wyjście typu \fBtext/html\fR). Chcąc uniknąć ponownego pobierania, trzeba użyć \fB\-k\fR i \fB\-K\fR, tak by oryginalna wersja pliku została zachowana jako \fI\fIX\fI.orig\fR. .Ip "\fB\*(--http-user=\fR\fIużytkownik\fR" 4 .IX Item "http-user=użytkownik" .PD 0 .Ip "\fB\*(--http-passwd=\fR\fIhasło\fR" 4 .IX Item "http-passwd=hasło" .PD Określają nazwę użytkownika i hasło, które Wget prześle serwerowi \s-1HTTP\s0. W zależności od rodzaju protokołu wezwanie-odpowiedź, Wget koduje je stosując albo uwierzytelnianie podstawowe (\f(CW\*(C`basic\*(C'\fR, niechronione) albo w oparciu o skrót (\f(CW\*(C`digest\*(C'\fR). .Sp 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ć \f(CW\*(C`ps\*(C'\fR. Żeby uchronić hasła przed podpatrzeniem, należy przechowywać je w pliku \&\fI.wgetrc\fR lub \fI.netrc\fR i, za pomocą \f(CW\*(C`chmod\*(C'\fR, 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, .Ip "\fB\-C on/off\fR" 4 .IX Item "-C on/off" .PD 0 .Ip "\fB\*(--cache=on/off\fR" 4 .IX Item "cache=on/off" .PD Jeśli ustawione na \fBoff\fR, wyłącza buforowanie po stronie serwera. W takim przypadku Wget wysyła zdalnemu serwerowi odpowiednią komendę (\fBPragma: no-cache\fR), 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. .Sp Domyślnie, buforowanie jest dozwolone. .Ip "\fB\*(--cookies=on/off\fR" 4 .IX Item "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 \f(CW\*(C`Set\-Cookie\*(C'\fR, 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 \fIzapisywanie\fR nie jest domyślnie włączone. .Ip "\fB\*(--load-cookies\fR \fIplik\fR" 4 .IX Item "load-cookies plik" Przed pierwszym pobraniem \s-1HTTP\s0 wczytuje ciasteczka z \fIpliku\fR. \&\fIPliku\fR jest plikiem tekstowym w formacie, jaki pierwotnie zastosowano dla pliku \fIcookies.txt\fR przeglądarki Netscape. .Sp 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 \s-1WWW\s0 wysyła ciasteczko \s-1HTTP\s0. Następnie, gdy przeglądarka sięga do zasobów, odsyła serwerowi otrzymane ciasteczko, potwierdzając w ten sposób naszą tożsamość. .Sp 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ą \fB\*(--load-cookies\fR \&\-\- wystarczy wskazać programowi lokalizację pliku \fIcookies.txt\fR, a on wyśle te same ciasteczka, które w tej samej sytuacji wysłałaby przyglądarka. .Sp Różne przeglądarki trzymają tekstowe pliki ciasteczek w różnych miejscach: .RS 4 .Ip "Netscape\ 4.x" 4 .IX Item "Netscape4.x" Ciasteczka są w \fI~/.netscape/cookies.txt\fR. .Ip "Mozilla\ i\ Netscape\ 6.x" 4 .IX Item "MozillaiNetscape6.x" Plik ciasteczek Mozilli nazywa się również \fIcookies.txt\fR, jest położony gdzieś w \fI~/.mozilla\fR, w katalogu właściwym dla profilu użytkownika. Pełna ścieżka zazwyczaj kończy się czymś w rodzaju \&\fI~/.mozilla/default/\fIcoś\-dziwnego\fI/cookies.txt\fR. .Ip "Internet\ Explorer" 4 .IX Item "InternetExplorer" Ciasteczko, jakiego mógłby użyć Wget, można utworzyć korzystając z menu \&\*(L"Plik\*(R" i opcji \*(L"Importuj i Eksportuj\*(R", \*(L"Eksportuj pliki cookie\*(R". Zostało to przetestowane z Internet Explorerem 5 \*(-- nie ma gwarancji, że będzie działać z wcześniejszymi wersjami. .Ip "inne\ przeglądarki" 4 .IX Item "inneprzeglądarki" Jeżeli do tworzenia ciasteczek korzystacie z innej przeglądarki, \&\fB\*(--load-cookies\fR będzie działać tylko wtedy, gdy uda wam się zlokalizować lub utworzyć plik ciasteczek w formacie Netscape, jakiego oczekuje Wget. .RE .RS 4 .Sp Jeśli nie możecie skorzystać z \fB\*(--load-cookies\fR, 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: .Sp .Vb 1 \& wget \-\-cookies=off \-\-header "Cookie: I=I" .Ve .RE .Ip "\fB\*(--save-cookies\fR \fIplik\fR" 4 .IX Item "save-cookies plik" Na koniec sesji zapisuje ciasteczka do \fIpliku\fR. Ciasteczka, dla których nie określono daty ważności lub które już wygasły, nie są zapisywane. .Ip "\fB\*(--ignore-length\fR" 4 .IX Item "ignore-length" Niestety, niektóre serwery \s-1HTTP\s0 (dokładniej mówiąc, programy \s-1CGI\s0) wysyłają błędne nagłówki \f(CW\*(C`Content\-Length\*(C'\fR, 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. .Sp Wywołany z tą opcją, Wget będzie ignorował nagłówek \f(CW\*(C`Content\-Length\*(C'\fR, tak jakby nie istniał. .Ip "\fB\*(--header=\fR\fIdodatkowy-nagłówek\fR" 4 .IX Item "header=dodatkowy-nagłówek" Określa \fIdodatkowy-nagłówek\fR przesyłany serwerom \s-1HTTP\s0. Nagłówki muszą zawierać \fB:\fR poprzedzony co najmniej jednym niepustym znakiem, i nie mogą zawierać znaków nowej linii. .Sp Możliwe jest określenie więcej niż jednego dodatkowego nagłówka przez kilkakrotne podanie opcji \fB\*(--header\fR. .Sp .Vb 3 \& wget \-\-header='Accept\-Charset: iso\-8859\-2' \e \& \-\-header='Accept\-Language: hr' \e \& http://fly.srk.fer.hr/ .Ve Podanie pustego łańcucha jako nagłówka kasuje wszystkie uprzednio zdefiniowane przez użytkownika nagłówki. .Ip "\fB\*(--proxy-user=\fR\fIużytkownik\fR" 4 .IX Item "proxy-user=użytkownik" .PD 0 .Ip "\fB\*(--proxy-passwd=\fR\fIhasło\fR" 4 .IX Item "proxy-passwd=hasło" .PD Określają nazwę użytkownika i hasło, które zostaną użyte do uwierzytelniania na serwerze proxy. Wget koduje je stosując podstawowy (\f(CW\*(C`basic\*(C'\fR) schemat uwierzytelniania. .Sp Odnoszą się do tego podobne zagadnienia związane z bezpieczeństwem, jak w przypadku opcji \fB\*(--http-passwd\fR. .Ip "\fB\*(--referer=\fR\fIurl\fR" 4 .IX Item "referer=url" Zamieszcza nagłówek `Referer: \fIurl\fR' w żądaniu \s-1HTTP\s0. 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ą. .Ip "\fB\-s\fR" 4 .IX Item "-s" .PD 0 .Ip "\fB\*(--save-headers\fR" 4 .IX Item "save-headers" .PD Zapisuje nagłówki wysyłane przez serwer \s-1HTTP\s0 do pliku, przed właściwą zawartością, z pustą linią jako separatorem. .Ip "\fB\-U\fR \fInazwa-agenta\fR" 4 .IX Item "-U nazwa-agenta" .PD 0 .Ip "\fB\*(--user-agent=\fR\fInazwa-agenta\fR" 4 .IX Item "user-agent=nazwa-agenta" .PD Serwerowi \s-1HTTP\s0 przedstawia się jako agent o podanej nazwie. .Sp Protokół \s-1HTTP\s0 pozwala klientom na podanie, za pomocą pola \&\f(CW\*(C`User\-Agent\*(C'\fR nagłówka, swojej tożsamości. Umożliwia to rozróżnianie oprogramowania \s-1WWW\s0, zwykle do celów statystycznych lub śledzenia naruszeń protokołu. Wget normalnie przedstawia się jako \fBWget/\fR\fIwersja\fR, gdzie \fIwersja\fR jest aktualnym numerem wersji programu. .Sp Znane są jednak pewne witryny narzucające politykę przykrawania wyników stosownie do informacji dostarczonej im w polu \f(CW\*(C`User\-Agent\*(C'\fR. Mimo iż koncepcyjnie nie jest to taki zły pomysł, zaczął być nadużywany przez serwery odmawiające informacji klientom innym niż \f(CW\*(C`Mozilla\*(C'\fR lub \f(CW\*(C`Internet Explorer\*(C'\fR. Ta opcja umożliwia zmianę linii \f(CW\*(C`User\-Agent\*(C'\fR wysyłanej przez Wget. Nie zachęcamy do używania tej opcji, chyba że z pełną świadomością. .Sh "Opcje \s-1FTP\s0" .IX Subsection "Opcje FTP" .Ip "\fB\-nr\fR" 4 .IX Item "-nr" .PD 0 .Ip "\fB\*(--dont-remove-listing\fR" 4 .IX Item "dont-remove-listing" .PD Zakazuje usuwania tymczasowych plików \fI.listing\fR generowanych przez odczyty \s-1FTP\s0. Normalnie, pliki te zawierają nieprzetworzone listingi katalogów otrzymane z serwerów \s-1FTP\s0. 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). .Sp 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 \&\fI.listing\fR jako dowiązanie symboliczne do \fI/etc/passwd\fR czy innego pliku i poprosi superużytkownika (\f(CW\*(C`root\*(C'\fR) o uruchomienie Wget w tym katalogu. W zależności od użytych opcji, Wget albo odmówi zapisu do \fI.listing\fR (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 \fI.listing\fR, albo też listing zostanie zapisany do pliku \fI.listing.\fInumer\fI\fR. .Sp Choć ta sytuacja nie stwarza kłopotów, jednak \f(CW\*(C`root\*(C'\fR nie powinien nigdy uruchamiać Wget w katalogu niezaufanego użytkownika. Użytkownik taki mógłby na przykład dowiązać \fIindex.html\fR do \fI/etc/passwd\fR i poprosić \&\f(CW\*(C`root\*(C'\fRa o uruchomienie Wget z opcjami \fB\-N\fR lub \fB\-r\fR, tak że plik ten zostałby nadpisany. .Ip "\fB\*(--retr-symlinks\fR" 4 .IX Item "retr-symlinks" Zwykle, gdy podczas rekurencyjnego pobierania katalogów \s-1FTP\s0 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. .Sp Przy podanej opcji \fB\*(--retr-symlinks\fR, 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. .Sp 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. .Ip "\fB\-g on/off\fR" 4 .IX Item "-g on/off" .PD 0 .Ip "\fB\*(--glob=on/off\fR" 4 .IX Item "glob=on/off" .PD Włącza/wyłącza obsługę masek dla \s-1FTP\s0. Obsługa masek oznacza, że można używać znaków specjalnych, \fIuogólniających\fR (jokerów), takich jak \fB*\fR, \fB?\fR, \fB[\fR i \fB]\fR, do pobrania większej liczby plików z tego samego katalogu naraz, np. .Sp .Vb 1 \& wget ftp://gnjilux.srk.fer.hr/*.msg .Ve Domyślnie obsługa masek będzie włączona jeśli \s-1URL\s0 zawiera znaki uogólniające. Tej opcji można użyć do włączenia bądź wyłączenia obsługi masek na stałe. .Sp 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 \s-1FTP\s0 (i z tymi, które potrafią emulować wyjście uniksowego \f(CW\*(C`ls\*(C'\fR). .Ip "\fB\*(--passive-ftp\fR" 4 .IX Item "passive-ftp" Powoduje korzystanie z \fIpasywnego\fR schematu pobierania \s-1FTP\s0, w którym klient inicjuje połączenie do przesyłania danych. Jest on czasem wymagany, by \s-1FTP\s0 działał za zaporami ogniowymi. .Sh "Opcje pobierania rekurencyjnego" .IX Subsection "Opcje pobierania rekurencyjnego" .Ip "\fB\-r\fR" 4 .IX Item "-r" .PD 0 .Ip "\fB\*(--recursive\fR" 4 .IX Item "recursive" .PD Włącza pobieranie rekurencyjne. .Ip "\fB\-l\fR \fIgłębokość\fR" 4 .IX Item "-l głębokość" .PD 0 .Ip "\fB\*(--level=\fR\fIgłębokość\fR" 4 .IX Item "level=głębokość" .PD Podaje maksymalny poziom głębokości rekurencji. Domyślnie jest to 5. .Ip "\fB\*(--delete-after\fR" 4 .IX Item "delete-after" Ta opcja nakazuje Wget usunięcie każdego z plików, jaki pobiera, \fIpo\fR wykonaniu ściągania. Jest przydatna do pobierania wstępnego (prefetching) popularnych stron poprzez proxy, np.: .Sp .Vb 1 \& wget \-r \-nd \-\-delete\-after http://whatever.com/~popular/page/ .Ve Opcja \fB\-r\fR nakazuje pobieranie rekurencyjne, a \fB\-nd\fR nietworzenie katalogów. .Sp Zauważ, że \fB\*(--delete-after\fR usuwa pliki z lokalnego komputera. Nie wydaje polecenia \fB\s-1DELE\s0\fR, na przykład zdalnym ośrodkom \s-1FTP\s0. Zauważ też, że jeśli podano \fB\*(--delete-after\fR, to \fB\*(--convert-links\fR jest ignorowane, więc przede wszystkim pliki \fB.orig\fR po prostu nie są tworzone. .Ip "\fB\-k\fR" 4 .IX Item "-k" .PD 0 .Ip "\fB\*(--convert-links\fR" 4 .IX Item "convert-links" .PD 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ż \s-1HTML\s0, itp. .Sp Każdy odnośnik będzie zmieniony na jeden z dwu sposobów: .RS 4 .Ip "\(bu" 4 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. .Sp Przykład: jeśli ściągnięty plik \fI/foo/doc.html\fR jest powiązany z z \fI/bar/img.gif\fR, również ściągniętym, to odnośnik w \fIdoc.html\fR zostanie zmieniony tak, by wskazywał na \fB../bar/img.gif\fR. Ten rodzaj przekształcenia działa bezproblemowo dla dowolnej kombinacji katalogów. .Ip "\(bu" 4 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ą. .Sp Przykład: jeśli ściągnięty plik \fI/foo/doc.html\fR jest powiązany z z \fI/bar/img.gif\fR (lub z \fI../bar/img.gif\fR), to odnośnik w \fIdoc.html\fR zostanie zmieniony tak, by wskazywał na \&\fIhttp://\fIhostname\fI/bar/img.gif\fR. .RE .RS 4 .Sp 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. .Sp 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 \fB\-k\fR wykonuje swoją pracę po zakończeniu wszystkich pobrań. .RE .Ip "\fB\-K\fR" 4 .IX Item "-K" .PD 0 .Ip "\fB\*(--backup-converted\fR" 4 .IX Item "backup-converted" .PD Podczas konwersji pliku zachowuje kopię zapasową pierwotnej wersji z przyrostkiem \fB.orig\fR. Wpływa na zachowanie opcji \fB\-N\fR. .Ip "\fB\-m\fR" 4 .IX Item "-m" .PD 0 .Ip "\fB\*(--mirror\fR" 4 .IX Item "mirror" .PD 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 \s-1FTP\s0. Obecnie jest równoważna użyciu \fB\-r \-N \-l inf \-nr\fR. .Ip "\fB\-nr\fR" 4 .IX Item "-nr" .PD 0 .Ip "\fB\*(--dont-remove-listing\fR" 4 .IX Item "dont-remove-listing" .PD Zakazuje usuwania plików tymczasowych \fI.listing\fR tworzonych przez odczyty \s-1FTP\s0. Normalnie, pliki te zawierają nieprzetworzone listingi katalogów otrzymane z serwerów \s-1FTP\s0. Pozostawienie ich daje dostęp do pełnej listy zdalnych plików przy prowadzeniu siedziby lustrzanej. Przydaje się też do celów diagnostycznych. .Ip "\fB\-p\fR" 4 .IX Item "-p" .PD 0 .Ip "\fB\*(--page-requisites\fR" 4 .IX Item "page-requisites" .PD Ta opcja powoduje, że Wget ściągnie wszystkie pliki niezbędne do poprawnego wyświetlenia danej strony \s-1HTML\s0. Obejmuje to takie rzeczy jak grafikę, dźwięki i powiązane arkusze stylów. .Sp Przy zwykłym trybie pracy, podczas pobierania pojedynczej strony \s-1HTML\s0, ewentualne powiązane dokumenty, które mogą być potrzebne do poprawnego jej wyświetlenia, nie są pobierane. Pomóc może użycie opcji \fB\-r\fR z \fB\-l\fR, 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. .Sp Na przykład, powiedzmy, że dokument \fI1.html\fR zawiera znacznik \&\f(CW\*(C`\*(C'\fR odnoszący się do \fI1.gif\fR i znacznik \f(CW\*(C`\*(C'\fR wskazujący na zewnętrzny dokument \fI2.html\fR. Powiedzmy, że \fI2.html\fR jest podobny, tyle, że jego obrazkiem jest \fI2.gif\fR a odnośnik wskazuje na \fI3.html\fR. Załóżmy, że kontynuujemy takie zależności aż do jakiejś dowolnie dużej liczby. .Sp Jeśli wykona się polecenie: .Sp .Vb 1 \& wget \-r \-l 2 http://I/1.html .Ve to zostaną pobrane \fI1.html\fR, \fI1.gif\fR, \fI2.html\fR, \fI2.gif\fR i \fI3.html\fR. Jak widać, \fI3.html\fR 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 \&\fI1.html\fR. Jednak przy takim poleceniu: .Sp .Vb 1 \& wget \-r \-l 2 \-p http://I/1.html .Ve zostaną ściągnięte wszystkie powyższe pliki \fIoraz\fR wymagany przez \&\fI3.html\fR plik \fI3.gif\fR. Podobnie, .Sp .Vb 1 \& wget \-r \-l 1 \-p http://I/1.html .Ve spowoduje pobranie \fI1.html\fR, \fI1.gif\fR, \fI2.html\fR i \fI2.gif\fR. Można by sądzić, że: .Sp .Vb 1 \& wget \-r \-l 0 \-p http://I/1.html .Ve pobrałoby tylko \fI1.html\fR i \fI1.gif\fR, ale niestety tak nie jest, gdyż \&\fB\-l 0\fR jest równoważnikiem \fB\-l inf\fR \*(-- czyli nieskończonej rekurencji. Do pobrania pojedynczej strony \s-1HTML\s0 (lub ich grupy, wszystkich podanych w wierszu poleceń lub w pliku wejściowym URL-i \&\fB\-i\fR) i towarzyszących jej (lub im) elementów, wystarczy pominąć \&\fB\-r\fR i \fB\-l\fR: .Sp .Vb 1 \& wget \-p http://I/1.html .Ve Zauważ, że Wget zachowa się tak, jakby podano opcję \fB\-r\fR, 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 \s-1WWW\s0) i upewnienia się, że całość lokalnie poprawnie się wyświetla, autor oprócz \fB\-p\fR korzysta z kilku dodatkowych opcji: .Sp .Vb 1 \& wget \-E \-H \-k \-K \-p http://I/I .Ve Kończąc ten temat, warto wiedzieć, że Wget uważa za odnośnik do dokumentu zewnętrznego każdy \s-1URL\s0 podany w znaczniku \f(CW\*(C`\*(C'\fR, \f(CW\*(C`\*(C'\fR lub \f(CW\*(C`\*(C'\fR, oprócz \f(CW\*(C`\*(C'\fR. .Sh "Opcje rekurencyjnego akceptowania/odrzucania" .IX Subsection "Opcje rekurencyjnego akceptowania/odrzucania" .Ip "\fB\-A\fR \fIlista_akc\fR \fB\*(--accept\fR \fIlista_akc\fR" 4 .IX Item "-A lista_akc accept lista_akc" .PD 0 .Ip "\fB\-R\fR \fIlista_odrz\fR \fB\*(--reject\fR \fIlista_odrz\fR" 4 .IX Item "-R lista_odrz reject lista_odrz" .PD Podaje listę oddzielonych przecinkami przyrostków nazw plików (rozszerzeń plików) lub wzorców nazw, jakie mają być akceptowane lub odrzucane.. .Ip "\fB\-D\fR \fIlista_domen\fR" 4 .IX Item "-D lista_domen" .PD 0 .Ip "\fB\*(--domains=\fR\fIlista_domen\fR" 4 .IX Item "domains=lista_domen" .PD Ustala domeny, do których program może przechodzić. \&\fIlista_domen\fR jest listą separowaną przecinkami. Zauważ, że ta opcja \&\fInie\fR włącza \fB\-H\fR. .Ip "\fB\*(--exclude-domains\fR \fIlista_domen\fR" 4 .IX Item "exclude-domains lista_domen" Podaje domeny, do których program ma \fInie\fR przechodzić.. .Ip "\fB\*(--follow-ftp\fR" 4 .IX Item "follow-ftp" Podąża za odnośnikami \s-1FTP\s0 z dokumentów \s-1HTTP\s0. Bez tej opcji Wget będzie ignorował wszelkie odnośniki do \s-1FTP\s0. .Ip "\fB\*(--follow-tags=\fR\fIlista\fR" 4 .IX Item "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 \fIlisty\fR separowanej przecinkami. .Ip "\fB\-G\fR \fIlista\fR" 4 .IX Item "-G lista" .PD 0 .Ip "\fB\*(--ignore-tags=\fR\fIlista\fR" 4 .IX Item "ignore-tags=lista" .PD Jest to przeciwieństwo opcji \fB\*(--follow-tags\fR. Dzięki podaniu \&\fIlisty\fR rozdzielonych przecinkami znaczników \s-1HTML\s0 można pominąć je podczas rekurencyjnego szukania dokumentów do pobrania. .Sp Niegdyś opcja \fB\-G\fR, użyta w wierszu poleceń: .Sp .Vb 1 \& wget \-Ga,area \-H \-k \-K \-r http://I/I .Ve była najlepszym wyborem do ściągania pojedynczej strony razem z jej elementami. .Sp Jednak autor tej opcji przeszedł przez stronę ze znacznikami typu \&\f(CW\*(C`\*(C'\fR i uświadomił sobie, że \fB\-G\fR nie wystarcza. Nie można po prostu nakazać Wget ignorowania \f(CW\*(C`\*(C'\fR, 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 \fB\*(--page-requisites\fR. .Ip "\fB\-H\fR" 4 .IX Item "-H" .PD 0 .Ip "\fB\*(--span-hosts\fR" 4 .IX Item "span-hosts" .PD Włącza przechodzenie pomiędzy hostami przy pobieraniu rekurencyjnym. .Ip "\fB\-L\fR" 4 .IX Item "-L" .PD 0 .Ip "\fB\*(--relative\fR" 4 .IX Item "relative" .PD 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.. .Ip "\fB\-I\fR \fIlista\fR" 4 .IX Item "-I lista" .PD 0 .Ip "\fB\*(--include-directories=\fR\fIlista\fR" 4 .IX Item "include-directories=lista" .PD Określa \fIlistę\fR rozdzielonych przecinkami katalogów, do których ma przechodzić program podczas pobierania Elementy \fIlisty\fR mogą zawierać znaki uogólniające. .Ip "\fB\-X\fR \fIlista\fR" 4 .IX Item "-X lista" .PD 0 .Ip "\fB\*(--exclude-directories=\fR\fIlista\fR" 4 .IX Item "exclude-directories=lista" .PD Określa \fIlistę\fR rozdzielonych przecinkami katalogów, które chcemy wykluczyć z pobierania Elementy \fIlisty\fR mogą zawierać znaki uogólniające. .Ip "\fB\-np\fR" 4 .IX Item "-np" .PD 0 .Ip "\fB\*(--no-parent\fR" 4 .IX Item "no-parent" .PD Powoduje, że Wget przy pobieraniu rekurencyjnym nigdy nie wchodzi do katalogu nadrzędnego. Przydatna opcja, gdyż gwarantuje, że ściągane będą tylko pliki \&\fIponiżej\fR pewnego poziomu. .SH "PRZYKŁADY" .IX Header "PRZYKŁADY" Przykłady podzielono na trzy części, z grubsza według stopnia komplikacji. .Sh "Proste zastosowania" .IX Subsection "Proste zastosowania" .Ip "\(bu" 4 Powiedzmy, że chcemy ściągnąć jakiś \s-1URL\s0. Wystarczy napisać: .Sp .Vb 1 \& wget http://fly.srk.fer.hr/ .Ve .Ip "\(bu" 4 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: .Sp .Vb 1 \& wget \-\-tries=45 http://fly.srk.fer.hr/jpg/flyweb.jpg .Ve .Ip "\(bu" 4 A teraz pozostawmy program Wget pracujący w tle i zapisujący informacje o postępach ściągania do pliku dziennika \fIlog\fR. Wpisywanie \&\fB\*(--tries\fR jest męczące, więc użyjemy \fB\-t\fR: .Sp .Vb 1 \& wget \-t 45 \-o log http://fly.srk.fer.hr/jpg/flyweb.jpg & .Ve Znak \f(CW\*(C`&\*(C'\fR na końcu linijki zapewnia, że Wget będzie działać w tle. Ograniczenie liczby ponawiań można zlikwidować stosując \fB\-t inf\fR. .Ip "\(bu" 4 Sposób użycia \s-1FTP\s0 jest równie prosty. Wget zajmie się nazwą zgłoszeniową (login) i hasłem. .Sp .Vb 1 \& wget ftp://gnjilux.srk.fer.hr/welcome.msg .Ve .Ip "\(bu" 4 Jeśli podamy katalog, to program pobierze jego listing, przetworzy go i przekształci na \s-1HTML\s0. Można spróbować: .Sp .Vb 2 \& wget ftp://prep.ai.mit.edu/pub/gnu/ \& links index.html .Ve .Sh "Zaawansowane zastosowania" .IX Subsection "Zaawansowane zastosowania" .Ip "\(bu" 4 Mamy gotowy plik z listą URL-i, które chcemy pobrać? Wystarczy skorzystać z przełącznika \fB\-i\fR: .Sp .Vb 1 \& wget \-i I .Ve Jeśli jako nazwę pliku podamy \fB-\fR, to URL-e będą czytane ze standardowego wejścia. .Ip "\(bu" 4 ! Create a five levels deep mirror image of the \s-1GNU\s0 web site, with the ! same directory structure the original has, with only one try per ! document, saving the log of the activities to \fIgnulog\fR: .Sp Stworzymy sięgający pięciu poziomów obraz lustrzany witryny \s-1WWW\s0 \&\s-1GNU\s0 (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 \fIgnulog\fR: .Sp .Vb 1 \& wget \-r http://www.gnu.org/ \-o gnulog .Ve .Ip "\(bu" 4 To samo co powyżej, ale z konwersją odnośników w plikach \s-1HTML\s0 tak, żeby wskazywały na lokalne pliki, by można było przeglądać dokumenty off-line: .Sp .Vb 1 \& wget \-\-convert\-links \-r http://www.gnu.org/ \-o gnulog .Ve .Ip "\(bu" 4 Pobranie tylko jednej strony \s-1HTML\s0, 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. .Sp .Vb 1 \& wget \-p \-\-convert\-links http://www.server.com/dir/strona.html .Ve Wybrana strona \s-1HTML\s0 zostanie zapisana do \fIwww.server.com/dir/strona.html\fR, a obrazki, arkusze stylu itd. gdzieś w katalogu \fIwww.server.com/\fR, zależnie od tego, gdzie znajdowały się na zdalnym serwerze. .Ip "\(bu" 4 Tak samo, jak wyżej, ale bez katalogu \fIwww.server.com/\fR. W gruncie rzeczy wcale nie chcę tych wszystkich przypadkowych katalogów z serwera \*(-- chcę po prostu zapisać \fIwszystkie\fR pobrane pliki w podkatalogu \fIdownload/\fR bieżącego katalogu. .Sp .Vb 2 \& wget \-p \-\-convert\-links \-nH \-nd \-Pdownload \e \& http://www.server.com/dir/strona.html .Ve .Ip "\(bu" 4 Pobranie index.html z \fBwww.lycos.com\fR, z pokazaniem oryginalnych, odebranych od serwera nagłówków: .Sp .Vb 1 \& wget \-S http://www.lycos.com/ .Ve .Ip "\(bu" 4 Zapisanie nagłówków serwera w pliku, zapewne do końcowego przetwarzenia: .Sp .Vb 2 \& wget \-s http://www.lycos.com/ \& more index.html .Ve .Ip "\(bu" 4 Pobranie pierwszych dwu poziomów \fBwuarchive.wustl.edu\fR, z zapisaniem ich do \fI/tmp\fR. .Sp .Vb 1 \& wget \-r \-l2 \-P/tmp ftp://wuarchive.wustl.edu/ .Ve .Ip "\(bu" 4 Chcemy ściągnąć wszystkie GIF-y z pewnego katalogu serwera \s-1HTTP\s0. Próbowaliśmy \fBwget http://www.server.com/dir/*.gif\fR, ale nie zadziałało, bo pobieranie \s-1HTTP\s0 nie realizuje masek plików. W takim przypadku stosujemy: .Sp .Vb 1 \& wget \-r \-l1 \-\-no\-parent \-A.gif http://www.server.com/dir/ .Ve Więcej pisaniny, ale skutek jest taki sam. \fB\-r \-l1\fR oznacza pobieranie rekurencyjne, z maksymalną głębokością 1. \&\fB\*(--no-parent\fR znaczy, że odwołania do katalogu nadrzędnego mają być ignorowane, a \fB\-A.gif\fR oznacza ściąganie tylko plików \s-1GIF\s0. Działałoby też \fB\-A \*(L"*.gif\*(R"\fR. .Ip "\(bu" 4 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: .Sp .Vb 1 \& wget \-nc \-r http://www.gnu.org/ .Ve .Ip "\(bu" 4 Do zakodowania swojej nazwy użytkownika i hasła do \s-1HTTP\s0 lub \s-1FTP\s0 używamy odpowiedniej składni URL-a. .Sp .Vb 1 \& wget ftp://hniksic:mojehaslo@unix.server.com/.emacs .Ve 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 \f(CW\*(C`ps\*(C'\fR. .Sp A może chcielibyśmy, żeby dokumenty wynikowe były kierowane na standardowe wyjście, a nie zapisywane do plików? .Sp .Vb 1 \& wget \-O \- http://jagor.srce.hr/ http://www.srce.hr/ .Ve Można też łączyć te dwie opcje i tworzyć potoki do pobierania dokumentów ze zdalnych list przebojów: .Sp .Vb 1 \& wget \-O \- http://cool.list.com/ | wget \-\-force\-html \-i \- .Ve .Sh "Bardzo zaawansowane zastosowania" .IX Subsection "Bardzo zaawansowane zastosowania" .Ip "\(bu" 4 Jeśli chcemy, by Wget utrzymywał lustrzaną kopię strony (lub podkatalogów \&\s-1FTP\s0), stosujemy \fB\*(--mirror\fR (\fB\-m\fR), co jest skróconym zapisem dla \fB\-r \-l inf \-N\fR. Umieszczamy Wget w pliku crontab, żądając, by w każdą niedzielę ponawiał sprawdzanie ośrodka: .Sp .Vb 2 \& crontab \& 0 0 * * 0 wget \-\-mirror http://www.gnu.org/ \-o /home/ja/weeklog .Ve .Ip "\(bu" 4 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 \s-1HTML\s0 przed ich przekształceniem. Odpowiednie Wywołanie wyglądałoby tak: .Sp .Vb 2 \& wget \-\-mirror \-\-convert\-links \-\-backup\-converted \e \& http://www.gnu.org/ \-o /home/ja/weeklog .Ve .Ip "\(bu" 4 Ale zauważyliście też, że lokalne przeglądanie nie działa całkiem poprawnie, jeśli pliki \s-1HTML\s0 zapisano z innym rozszerzeniem niż \fB.html\fR, na przykład dlatego, że dostarczono je jako \fIindex.cgi\fR. Zatem chcielibyśmy, żeby Wget wszystkim plikom przekazanym z nagłówkiem content-type równym \fBtext/html\fR zmienił nazwy na \fI\fInazwa\fI.html\fR. .Sp .Vb 3 \& wget \-\-mirror \-\-convert\-links \-\-backup\-converted \e \& \-\-html\-extension \-o /home/ja/weeklog \e \& http://www.gnu.org/ .Ve Lub też, pisząc krócej: .Sp .Vb 1 \& wget \-m \-k \-K \-E http://www.gnu.org/ \-o /home/me/weeklog .Ve .SH "PLIKI" .IX Header "PLIKI" .Ip "\fB/etc/wgetrc\fR" 4 .IX Item "/etc/wgetrc" Domyślne położenie \fIglobalnego\fR pliku startowego. .Ip "\fB.wgetrc\fR" 4 .IX Item ".wgetrc" Prywatny plik startowy użytkownika. .SH "BŁĘDY" .IX Header "BŁĘDY" Zachęcamy do przesyłania zgłoszeń błędów dotyczących \s-1GNU\s0 Wget na adres <\f(CW\*(C`bug\-wget@gnu.org\*(C'\fR>. .PP Przed faktycznym przedłożeniem zgłoszenia błędu, spróbuj, proszę, zastosować się do kilku prostych wskazówek. .Ip "1." 4 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. .Ip "2." 4 Spróbuj, proszę, powtórzyć ten błąd w możliwie najprostszych warunkach. Np. jeśli Wget pada podczas ściągania \fBwget \-rl0 \-kKE \-t5 \-Y0 http://yoyodyne.com \-o /tmp/log\fR, 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. .Sp Ponadto, choć co prawda prawdopodobnie będę zainteresowany zawartością twojego pliku \fI.wgetrc\fR, 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 \fI.wgetrc\fR przesuniętym na ubocze. Prześlij mi odpowiednie fragmenty tego pliku tylko wtedy, gdy okaże się, że błąd zależy od ustawień \fI.wgetrc\fR. .Ip "3." 4 Uruchom, proszę, Wget z opcją \fB\-d\fR 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. \fIDużo\fR łatwiej jest śledzić błędy z udostępnioną diagnostyką. .Ip "4." 4 jeśli Wget się wywala, spróbuj uruchomić go w debugerze, np. \&\f(CW\*(C`gdb `which wget` core\*(C'\fR i wpisz \f(CW\*(C`where\*(C'\fR, by otrzymać stos wywołania (backtrace). .SH "ZOBACZ TAKŻE" .IX Header "ZOBACZ TAKŻE" Plik \s-1GNU\s0 Info dla \fIwget\fR. .SH "AUTOR" .IX Header "AUTOR" Pierwotnie napisane przez Hrvoje Niksic . .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc. .PP 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. .PP Zezwala się na kopiowanie, rozpowszechnianie i/lub modyfikowanie tego dokumentu na warunkach Licencji Wolnej Dokumentacji \s-1GNU\s0 (\s-1GNU\s0 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''. .SH "INFORMACJE O TŁUMACZENIU" Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i \fImoże nie być aktualne\fR. 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 za pomocą polecenia: .IP man \-\-locale=C 1 wget .PP Prosimy o pomoc w aktualizacji stron man \- więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages\-pl/.