table of contents
- bookworm 1:4.18.1-1
- bookworm-backports 1:4.24.0-2~bpo12+1
- testing 1:4.24.0-2
- unstable 1:4.25.0-1
WGET(1) | GNU Wget | WGET(1) |
NAZWA¶
wget - nieinteraktywny program do pobierania z sieci
SKŁADNIA¶
wget [opcja]... [URL]...
OPIS¶
GNU Wget jest wolnym programem narzędziowym do pobierania plików z sieci. Obsługuje protokoły HTTP, HTTPS i FTP, a także pobieranie poprzez serwery proxy HTTP.
Wget jest nieinteraktywny, co pozwala mu działać w tle, w czasie gdy użytkownik nie jest zalogowany. Dzięki temu użytkownik może rozpocząć pobieranie i rozłączyć się z komputerem, pozwalając Wgetowi na zakończenie pracy. Większość przeglądarek WWW wymaga ciągłej obecności człowieka, co staje się uciążliwe przy pobieraniu dużej ilości danych.
Wget potrafi podążać za odnośnikami zawartymi w stronach HMTL, XHTML i CSS oraz tworzyć lokalne wersje zdalnych witryn, w pełni odtwarzając strukturę katalogów oryginalnej strony. 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 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¶
Składnia opcji¶
Wget używa GNU getopt do przetwarzania argumentów wiersza poleceń, więc każda opcja ma długi i krótki format. Długie opcje są łatwiejsze do zapamiętania, lecz wpisuje się je dłużej. Można dowolnie łączyć oba style zapisu lub podać opcje po argumentach wiersza poleceń. Można więc użyć:
wget -r --tries=10 http://fly.srk.fer.hr/ -o log
Spacja pomiędzy opcją akceptującą argument i argumentem może być pominięta. Zamiast -o log można wpisać -olog.
Można umieścić kilka opcji, które nie wymagają argumentów razem, tak jak poniżej:
wget -drc <URL>
Jest to równoważne zapisowi:
wget -d -r -c <URL>
Ponieważ opcje mogą być podane po argumentach, może być konieczne oddzielenie ich za pomocą --. Poniższe polecenie spróbuje pobrać URL -x, zapisując niepowodzenie do log:
wget -o log -- -x
Opcje, które akceptują listy oddzielone przecinkami, respektują konwencję podania pustej listy, która usuwa ich wartosć. Jest to przydatne do wyczyszczenia ustawień .wgetrc np. jeśli .wgetrc użytkownika ustawia "exclude_directories" na /cgi-bin, to poniższy przykład najpierw zresetuje wartość, a następnie ustawi ją na /~nobody i /~somebody. Można również wyczyścić listę w .wgetrc.
wget -X "" -X /~nobody,/~somebody
Większość opcji, która nie akceptuje argumentów są opcjami logicznymi tzn. takimi, których stan można opisać zmienną zero-jedynkową ("logiczną"). Na przykład --follow-ftp mówi Wgetowi, aby podążał za linkami FTP z plików HTML, a --no-glob nakazuje nieprzeprowadzania rozwijania masek URL-i FTP. Opcje logiczną są albo pozytywne, albo negatywne (te zaczynają się od --no). Wszystkie takie opcje mają kilka własności.
Jeżeli nie zaznaczono inaczej, to przyjmuje się, że domyślne zachowanie jest przeciwne niż to, które zapewnia opcja. Na przykład udokumentowane istnienie --follow-ftp wskazuje, że domyślnie nie podąża się za linkami FTP ze stron HTML.
Działanie opcji pozytywnych można odwrócić dodając --no- do ich nazw; analogicznie w przypadku opcji negatywnych (wyłączających) - usuwając przedrostek --no-. Może to wyglądać na niepotrzebne -- skoro domyślnym działaniem opcji pozytywnych jest nie robienie czegoś, to po co zapewniać metodę jawnego wyłączania ich? Wynika to z działania pliku startowego, który może zmienić wartości domyślne. Przykładowo, skorzystanie z wpisu follow_ftp = on w pliku .wgetrc powoduje, że Wget domyślnie podąża (follow) za dowiązaniami FTP, natomiast opcja --no-follow-ftp jest jedynym sposobem na przywrócenie wartości pierwotnie domyślnych z wiersza poleceń.
Podstawowe opcje uruchamiania¶
- -V
- --version
- Wyświetla wersję Wgeta.
- -h
- --help
- Wypisuje komunikat pomocy, opisujący wszystkie opcje, jakie można przekazać Wgetowi 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. Aby podać kilka poleceń wgetrc, należy użyć opcji -e wielokrotnie.
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 systemu mógł skompilować 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żąda się 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
- --no-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.
- --report-speed=typ
- Wypisuje przepustowość jako typ. Jedyną akceptowaną wartością są bity (bits).
- -i plik
- --input-file=plik
- Odczytuje URL-e z lokalnego lub zewnętrznego pliku.
Jeśli jako plik podano -, to URL-e są czytane
ze standardowego wejścia (aby czytać z pliku nazwanego
-, należy użyć zapisu ./-).
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ń. Jeśli nie podano opcji --force-html, to plik powinien składać się z zestawu URL-i - po jednym na wiersz.
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ń.
Jeśli plik jest plikiem zewnętrznym, to dokument zostanie potraktowany automatycznie jako html, jeśli jego Content-Type pasuje do text/html. Co więcej, położenie pliku zostanie użyte jako href, jeśli nie podano innego.
- --input-metalink=plik
- Pobiera pliki wyszczególnione w lokalnym pliku Metalink. Obsługiwany jest Metalink w wersji 3 i 4.
- --keep-badhash
- Pozostawia pobrane pliki Metalink z nieprawidłowym skrótem. Dodaje .badhash do nazwy plików Metalink z niezgodną sumą kontrolną (nie nadpisując przy tym istniejących plików).
- --metalink-over-http
- Issues HTTP HEAD request instead of GET and extracts Metalink metadata from response headers. Then it switches to Metalink download. If no valid Metalink metadata is found, it falls back to ordinary HTTP download. Enables Content-Type: application/metalink4+xml files download/processing.
- --metalink-index=numer
- Set the Metalink application/metalink4+xml metaurl ordinal NUMBER. From 1 to the total number of "application/metalink4+xml" available. Specify 0 or inf to choose the first good one. Metaurls, such as those from a --metalink-over-http, may have been sorted by priority key's value; keep this in mind to choose the right NUMBER.
- --preferred-location
- Ustawia preferowane położenie zasobów Metalink. Wartość jest stosowana, gdy dostępnych jest wiele zasobów o tym samym priorytecie.
- --xattr
- Enable use of file system's extended attributes to save the original URL
and the Referer HTTP header value if used.
Be aware that the URL might contain private information like access tokens or credentials.
- -F
- --force-html
- Kiedy wejście jest czytane z pliku, wymusza aby było traktowane jako plik 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
- Przekształca linki względne używając
URL-i jako punktu odniesienia, przy odczytywaniu linków z
pliku HTML określonego opcją -i/--input-file
(razem z --force-html lub gdy plik został pobrany z serwera
zewnętrznego, opisującego go jako HTML). Jest to odpowiednik
obecności znacznika BASE w pliku
wejściowym HTML, z wartością URL jako
wartość atrybutu href.
Na przykład przy podaniu http://foo/bar/a.html do URL i odczytaniu przez Wgeta ../baz/b.html z pliku wejściowego, zostanie on przekształcony do http://foo/baz/b.html.
- --config=plik
- Określa położenie pliku konfiguracyjnego, który ma być użyty zamiast domyślnego (domyślnych). Podanie --no-config wyłączy odczytywanie plików konfiguracyjnych. Jeśli użyje się jednocześnie --config i --no-config, opcja --no-config jest ignorowana.
- --rejected-log=dziennik
- Logs all URL rejections to logfile as comma separated values. The values include the reason of rejection, the URL and the parent URL it was found in.
Opcje pobierania¶
- --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 dany komputer ma przypisane kilka adresów IP.
- --bind-dns-address=adres
- [libcares only] This address overrides the route for DNS requests. If you ever need to circumvent the standard settings from /etc/resolv.conf, this option together with --dns-servers is your friend. ADDRESS must be specified either as IPv4 or IPv6 address. Wget needs to be built with libcares for this option to be available.
- --dns-servers=adres
- [libcares only] The given address(es) override the standard nameserver addresses, e.g. as configured in /etc/resolv.conf. ADDRESSES may be specified either as IPv4 or IPv6 addresses, comma-separated. Wget needs to be built with libcares for this option to be available.
- -t liczba
- --tries=liczba
- Ustawia liczbę prób na liczbę. 0 lub inf oznacza próbowanie bez końca. Domyślna wartość wynosi 20, z wyjątkiem błędów krytycznych, takich jak "connection refused" (odrzucono połączenie) lub "not found" (nie znaleziono - 404), gdy nie podejmuje się ponownych prób.
- -O plik
- --output-document=plik
- Dokumenty nie będą zapisywane do odpowiednich plików,
ale wszystkie zostaną sklejone i zapisane do pliku.
Jeśli jako plik podano -, dokumenty
będą zapisane na standardowe wyjście,
wyłączając konwersję linków
(proszę użyć ./-, aby zapisać do pliku
o nazwie -).
Użycie -O nie jest przeznaczone jako "użyj nazwy pliku zamiast tej z URL-a", lecz jest to odpowiednik przekierowania powłoki: wget -O plik http://foo jest zaprojektowane do działania jak wget -O - http://foo > plik; plik zostanie natychmiast przycięty, i cała zawartość pobierania zostanie do niego zapisana.
Z tego powodu, -N (sprawdzanie znacznika czasowego) nie jest obsługiwane w połączeniu z -O: ponieważ plik jest zawsze nowo tworzony, będzie miał on zawsze całkiem nowy znacznik czasowy. Przy użyciu tej kombinacji wyświetlane jest ostrzeżenie.
Podobnie, używanie -r lub -p z -O może nie działać zgodnie z przewidywaniami: Wget nie będzie pobierał pierwszego pliku do pliku, a reszty do zwykłych plików; cała zawartość pobierania zostanie umieszczona w pliku. Zostało to wyłączone w wersji 1.11, lecz powróciło (z ostrzeżeniem) w 1.11.2, ponieważ są przypadki, gdzie takie zachowanie może mieć sens.
Łączenie z opcją -nc jest możliwe tylko, gdy podany plik wyjściowy nie istnieje.
Proszę zauważyć, że kombinacja z -k jest dozwolona tylko przy pobieraniu pojedynczego dokumentu, ponieważ w takim przypadku, wszystkie relatywne URI zostaną przekształcone w URI zewnętrzne. Opcja -k nie ma sensu przy wielu URI, które zostały pobrane do pojedynczego pliku, stąd -k może być użyte tylko, jeśli wyjściem jest zwykły plik.
- -nc
- --no-clobber
- Jeśli plik jest pobierany więcej niż raz do tego
samego katalogu, zachowanie Wgeta zależy od kilku opcji,
między innymi -nc. W pewnych przypadkach istniejący
lokalny plik będzie nadpisany lub przebity (ang. clobbered),
przy powtórzeniu ściągania. W innych przypadkach
zostanie zachowany.
Przy uruchomieniu Wget bez opcji -N, -nc, -r lub -p 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 (jest tak również z opcją -nd, nawet jeśli działa równocześnie -r lub -p). Przy podanej opcji -nc, zachowanie takie jest wstrzymywane, a Wget odmawia pobrania nowszych kopii pliku. Dlatego też, "no-clobbe" 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 lub -p, ale bez -N, -nd 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 nowych kopii z serwera.
Przy uruchomieniu Wget z -N, z opcją -r lub -p albo 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.
Łączenie z -O/--output-document jest możliwe tylko, gdy podany plik wyjściowy nie istnieje.
Proszę zauważyć, że jeśli podano -nc, pliki z przyrostkami .html lub .htm będą odczytywane z dysku i przetwarzane tak, jakby zostały pobrane z sieci.
- --backups=kopia-zapasowa
- Przed nadpisaniem pliku, istniejący jest zachowywany poprzez dodanie przyrostka .1 (_1 w VMS) do nazwy pliku. Przy kolejnym przebiegu kolejne kopie zapasowe mają nazwy zmieniane na .2, .3 itd., aż do osiągnięcia liczby kopii-zapasowych (gdy ją przekroczą są usuwane).
- --no-netrc
- Nie próbuje uzyskiwać poświadczeń z pliku .netrc. Domyślnie plik .netrc jest przeszukiwany pod kątem poświadczeń, jeśli ich nie podano w wierszu polecenia, a konieczne jest uwierzytelnienie.
- -c
- --continue
- Kontynuuje pobieranie częściowo
ściągniętego pliku. Przydatne, gdy chcemy
dokończyć ściąganie rozpoczęte w
poprzednim przebiegu Wgeta lub przez inny program. 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 przesunięcia równego długości lokalnego pliku.
Proszę zauważyć, ż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, zostawiając w spokoju obcięty plik ls-lR.Z.
Jeśli użyjemy -c dla niepustego pliku, a okaże się, że serwer nie obsługuje kontynuacji ściągania, Wget zrestartuje pobieranie od zera i całkowicie nadpisze istniejący plik.
Począwszy od Wget 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 "(wielkość(zdalny) - wielkośc(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 serwerami pośredniczącymi 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.
Proszę zauważyć, że -c działa tylko z serwerami FTP i HTTP, które obsługują nagłówek "Range".
- --start-pos=OFFSET
- Start downloading at zero-based position OFFSET. Offset may be
expressed in bytes, kilobytes with the `k' suffix, or megabytes with the
`m' suffix, etc.
--start-pos ma pierwszeństwo nad --continue. Gdy poda się jednocześnie --start-pos i --continue, wget wypisze ostrzeżenie, a następnie będzie działać, jak gdyby nie użyto --continue.
Konieczna jest obsługa kontynuacji pobierania po stronie serwera, w przeciwnym przypadku opcja --start-pos nic nie da. Więcej szczegółów w opisie opcji -c.
- --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".
Aby przełączyć się na zapis kropkowy należy użyć opcji --progres=dot. Śledzi on pobieranie wypisując kropki, a każda oznacza określoną ilość pobranych danych.
Wskaźnik postępu typ może również przyjąć jeden lub więcej parametrów. Parametry różnią się, w zależności od danego typu. Parametry do typu podaje się, dołączając je pod dwukropku (:), w następujący sposób --progress=typ:parametr1:parametr2.
When using the dotted retrieval, you may set the style by specifying the type as dot:style. Different styles assign different meaning to one dot. With the "default" style each dot represents 1K, there are ten dots in a cluster and 50 dots in a line. The "binary" style has a more "computer"-like orientation---8K dots, 16-dots clusters and 48 dots per line (which makes for 384K lines). The "mega" style is suitable for downloading large files---each dot represents 64K retrieved, there are eight dots in a cluster, and 48 dots on each line (so each line contains 3M). If "mega" is not enough then you can use the "giga" style---each dot represents 1M retrieved, there are eight dots in a cluster, and 32 dots on each line (so each line contains 32M).
Przy wybraniu --progress=bar są dostępne obecnie dwa parametry: force i noscroll.
When the output is not a TTY, the progress bar always falls back to "dot", even if --progress=bar was passed to Wget during invocation. This behaviour can be overridden and the "bar" output forced by using the "force" parameter as --progress=bar:force.
By default, the bar style progress bar scroll the name of the file from left to right for the file being downloaded if the filename exceeds the maximum length allotted for its display. In certain cases, such as with --progress=bar:force, one may not want the scrolling filename in the progress bar. By passing the "noscroll" parameter, Wget can be forced to display as much of the filename as possible without scrolling through it.
Proszę zauważyć, że domyślny styl można ustawić za pomocą polecenia "progress" w swoim pliku .wgetrc. Ustawienie można przesłonić w wierszu poleceń. Na przykład, aby wymusić wyjście paskowe bez przewijania, należy użyć --progress=bar:force:noscroll.
- --show-progress
- Zmusza wget do wyświetlania paska postępu niezależnie
od ustawienia szczegółowości.
Domyślnie, wget wyświetla pasek postępu tylko w trybie pelnego wyjścia. Można jednak preferować wyświetlanie paska postępu na ekranie z innymi trybami szczegółowości, takimi jak --no-verbose lub --quiet. Często jest to oczekiwane rozwiązanie, przy wywoływaniu wget do pobieraniu wielu mniejszych/większych plików. W takim przypadku wget można wywołać z tym parametrem, aby uzyskać znacznie przejrzystrze wyjście na ekranie.
Opcja ta wymusi również wypisanie paska postępu na stderr, gdy połączy się ją z opcją --output-file.
- -N
- --timestamping
- Włącza stosowanie znaczników czasu (time-stamping).
- --no-if-modified-since
- Do not send If-Modified-Since header in -N mode. Send preliminary HEAD request instead. This has only effect in -N mode.
- --no-use-server-timestamps
- Nie ustawia znacznika czasu pliku lokalnego na podstawie znacznika z
serwera.
Domyślnie, gdy plik jest pobierany, używany jest znacznik czasu pliku zdalnego. Pozwala to na użycie opcji --timestamping w kolejnych wywołaniach wgeta. Czasem korzystniej jest ustawić znacznik czasu na podstawie rzeczywistego czasu pobierania; w tym celu powstała opcja --no-use-server-timestamps.
- -S
- --server-response
- Wypisuje nagłówki wysyłane przez serwery HTTP i odpowiedzi wysyłane przez serwery FTP.
- --spider
- Wywołany 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 sekundy
- --timeout=sekundy
- Ustawia sieciowy czas oczekiwania na sekundy sekund. Jest to
odpowiednik jednoczesnego podania --dns-timeout,
--connect-timeout i --read-timeout.
Podczas interakcji z siecią, Wget może sprawdzić czas oczekiwania i przerwać operację, gdy zabiera zbyt dużo czasu. Zapobiega to takim anomaliom jak zawieszenie odczytu i niekończące się łączenie. Jedynym domyślnym czasem oczekiwania jest 900 sekundowe oczekiwanie na odczyt. Ustawienie "0", wyłączy go. Nie poleca się zmian domyślnych ustawień, chyba że wie się, co się robi.
Wszystkie opcje związane z czasami oczekiwania akceptują wartości dziesiętne oraz ułamki sekundowe, np. 0.1 jest poprawną (choć bezsensowną) wartością czasu oczekiwania. Wartości mniejsze od sekundy są przydatne do sprawdzania czasu odpowiedzi serwera lub w celu testowania opóźnienia sieciowego.
- --dns-timeout=sekundy
- Ustawia czas translacji adresów DNS na sekundy sekund. Jeśli translacja DNS nie zostanie ukończona w podanym czasie, zakończy się błędem. Domyślnie, nie ma ograniczeń czasowych innych niż wynikających z implementacji bibliotek systemowych.
- --connect-timeout=sekundy
- Ustawia czas oczekiwania połączenia na sekundy sekund. Połączenia TCP, które potrzebują więcej czasu do poprawnego nawiązania, zostaną przerwane. Domyślnie, czas oczekiwania połączenia nie jest zdefiniowany, z wyłączeniem rozwiązań zaimplementowanych w bibliotekach systemowych.
- --read-timeout=sekundy
- Ustawia czasy oczekiwania odczytu (i zapisu) na sekundy sekund.
"Czas" odnosi się tu do czasu bezczynności,
tzn. jeśli w dowolnej chwili pobierania, dane nie są
otrzymywane przez więcej niż podana liczba sekund, to odczyt
zwraca błąd, a pobieranie jest restartowane. Opcja ta nie
wpływa bezpośrednio na czas trwania samego pobierania.
Zdalny serwer może oczywiście przerwać połączenie wcześniej, niż wynika to z wymagań tej opcji. Domyślny czas oczekiwania odczytu wynosi 900 sekund.
- --limit-rate=wielkość
- Ogranicza prędkość pobierania do
wielkość bajtów na sekundę.
Wielkość może być wyrażona w bajtach,
kilobajtach (z przyrostkiem k lub megabajtach (z przyrostkiem
m. Na przykład --limit-rate=20k ograniczy
prędkość pobierania do 20 KB/s. Jest to przydatne,
gdy z jakiegoś powodu nie chce się pozwolić Wgetowi
na zajęcie całej przepustowości łącza.
Opcja wymaga liczb dziesiętnych, połączonych z reguły z odpowiednim przyrostkiem; poprawną wartością jest na przykład --limit-rate=2.5k.
Proszę zauważyć, że implementację Wgeta jest wstrzymywanie transferu na pewny czas po tym, gdy odczyt sieciowy zabiera mniej czasu niż wynikałoby to z żądanej przepustowości. Ta strategia skutkuje ostatecznie spowolnieniem transferu TCP do wartości przybliżonej do podanej. Osiągnięcie zbalansowanego poziomu może chwilę potrwać, dlatego proszę się nie dziwić, że ograniczanie przepustowości nie działa zbyt dobrze w przypadku bardzo małych plików.
- -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 komputer 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. Na czas oczekiwania określony przez tę opcję wpływa --random-wait.
- --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.
Domyślna wartość jaka zostanie przyjęta, wynosi 10 sekund.
- --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,5 do
1,5 * sekundy, gdzie sekundy podano opcją
--wait (-w).
W artykule z 2001, 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.
- --no-proxy
- Wyłącza używanie serwerów pośredniczących, nawet jeśli zdefiniowano odpowiednią zmienną środowiskową *_proxy.
- -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 https://example.com/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 sprawdzane jedynie po zakończeniu pobierania każdego pliku, zatem nigdy nie spowoduje pobrania jedynie części pliku. Można zatem spokojnie wpisać wget -Q2m -i witryny -- pobranie zostanie przerwane po całkowitym ukończeniu pobierania pliku, który wykorzystał ograniczenie wielkości.
Ustawienie limitu na 0 lub na inf znosi ograniczenie pobierania.
- --no-dns-cache
- Wyłącza buforowanie translacji DNS. Wget zwykle
zapamiętuje przetłumaczone adresy IP z DNS, dzięki
czemu nie musi odpytywać ponownie serwera DNS w sprawie tego samego
(zwykle małego) zestawu hostów, z których
następuje pobieranie. Bufor istnieje wyłącznie w
pamięci; nowa kopia Wgeta ponownie odpyta serwery DNS.
W niektórych przypadkach zostało zgłoszone, że buforowanie nazw hostów nie jest pożądane nawet, gdy trwa to tylko tyle, ile działanie Wgeta. Po użyciu tej opcji, Wget wysyła nowe żądanie translacji DNS (bardziej precyzyjnie: nowe wywołanie gethostbyname lub getaddrinfo) przy każdym zestawianiu nowego połączenia. Proszę zauważyć, że opcja ta nie wpływa na buforowanie, które może być wykonywane przez odpowiednią bibliotekę lub w zewnętrznej warstwie buforowania, takiej jak NSCD.
Jeśli przeznaczenie tej opcji nie jest całkowicie jasne, prawdopodobnie nie ma potrzeby jej stosowania.
- --restrict-file-names=tryby
- Zmienia znaki, które mają być cytowane w
odnośnikach zewnętrznych podczas tworzenia lokalnych nazw
plików. Znaki, które są ograniczone przez
tę opcję, są cytowane - tzn. zastępowane przez
%HH, gdzie HH jest liczbą szesnastkową
odpowiadającą ograniczonemu znakowi. Opcję
można wykorzystać również do wymuszenia
określonej wielkości liter.
Domyślnie, Wget cytuje znaki, które nie są prawidłowe lub bezpieczne jako część nazwy pliku w danym systemie operacyjnym, jak również znaki kontrolne, które zwykle nie są wyświetlane. Opcja jest przydatna do zmiany wartości domyślnych, np. ponieważ plik został pobrany na partycję nienatywną, aby wyłączyć cytowanie znaków kontrolnych lub aby jeszcze bardziej ograniczyć zestaw znaków, do wartości ASCII.
Tryby są zestawem wartości tekstowych, oddzielonych przecinkiem. Akceptowanymi wartościami są: unix, windows, nocontrol, ascii, lowercase i uppercase. Wartości unix i windows są wzajemnie sprzeczne (jedna przesłoni drugą), podobnie jak lowercase i uppercase. Dwie ostatnie są wartościami specjalnymi, ponieważ nie zmieniają one zestawu znaków do cytowania, lecz wymuszają przekształcenie ścieżek plików lokalnych na, odpowiednio, małe litery i duże litery.
Jeśli użyje się trybu unix, to Wget będzie cytował znak / oraz znaki kontrolne z przedziałów 0-31 i 128-159. Jest to domyślne zachowanie w systemach uniksowych.
Przy podaniu trybu windows, Wget cytuje znaki \, |, /, :, ?, ", *, <, > oraz znaki kontrolne w przedziałach 0-31 i 128-159. Dodatkowo, w lokalnych nazwach plików, w trybie windowsowym Wget oddziela nazwę komputera i port znakiem + zamiast :, oraz używa @ zamiast ? do oddzielenia części zapytania w nazwie pliku od reszty. Dlatego, URL który w trybie uniksowym zostałby zachowany jako www.xemacs.org:4300/search.pl?input=blah, w trybie windowsowym zostanie zapisany jako www.xemacs.org+4300/search.pl@input=blah. Jest to domyślny tryb w systemie Windows.
Tryb nocontrol wyłącza cytowanie znaków kontrolnych. Opcja ta ma sens, gdy pobierane są URL-e zawierające znaki UTF-8 w systemie, który może zapisywać i wyświetlać nazwy plików w UTF-8 (część możliwych wartości bajtów używanych w sekwencjach UTF-8 mieści się w zakresie wartości opisywanych przez Wgeta jako "kontrolne".
Tryb ascii cytuje wszystkie bajty spoza zakresu znaków ASCII (czyli większe niż 127). Przydatne, gdy kodowanie nazw plików nie pasuje do tego używanego lokalnie.
- -4
- --inet4-only
- -6
- --inet6-only
- Wymusza połączenia z adresami IPv4 lub IPv6. Z opcją
--inet4-only lub -4, Wget połączy się
wyłącznie z adresami IPv4, ignorując rekordy AAAA w
DNS i odmawiając połączenia z adresami IPv6 podanymi
w URL-u. Analogicznie, opcja --inet6-only lub -6 spowoduje
łączenie się wyłącznie z adresami IPv6
i ignorowanie rekordów A i adresów IPv4.
Nie powinno się zwykle używać żadnej z tych opcji. Domyślnie, Wget obsługujący adresy IPv6 będzie używał rodziny adresów określonych przez rekord DNS hosta. Jeśli DNS odpowie zarówno adresem IPv4 jak i IPv6, to Wget spróbuje połączyć się z nimi po kolei, dopóki mu się to nie uda (zob. też opcja --prefer-family opisana poniżej).
Opcje te mogą posłużyć do celowego wymuszenia użycia rodzin adresów IPv4 lub IPv6 w systemach o podwójnej rodzinie adresów, zwykle w celu pomocy w debugowaniu lub do obsługi nieprawidłowej konfiguracji sieci. W tym samym czasie można użyć tylko jednej z opcji --inet6-only i --inet4-only. Żadna z nich nie jest dostępna we Wgecie skompilowanym bez obsługi IPv6.
- --prefer-family=none/IPv4/IPv6
- Gdy do wyboru będzie kilka adresów, łączy
się najpierw z adresami z podanej rodziny. Kolejność
adresów zwrócona przez DNS domyślnie jest
używana bez zmian.
Zapobiega się w ten sposób fałszywym błędom i próbom łączenia przy dostępnie do hostów, które obsługują zarówno adresy IPv6 jak i IPv4 z sieci IPv4. Na przykład www.kame.net tłumaczy się na 2001:200:0:8002:203:47ff:fea5:3085 i 203.178.141.194. Jeśli preferowaną rodziną adresów jest "IPv4", to one są używane jako pierwsze; jeśli preferowaną rodziną jest "IPv6", adresy IPv6 mają pierwszeństwo. Jeśli podaną wartością jest "none", to używana jest kolejność adresów zwracana przez DNS.
W przeciwieństwie do opcji -4 i -6, ta opcja nie wyklucza dostępu do którejś rodziny adresów - zmienia jedynie kolejność wykorzystania adresów. Proszę również zauważyć, że zmiana kolejności wykonywana za pomocą tej opcji jest stabilna - nie dotyka kolejności adresów w tej samej rodzinie. Oznacza to, że względna kolejność adresów IPv4 i adresów IPv6, we wszystkich przypadkach pozostaje bez zmian.
- --retry-connrefused
- Uznaje "odrzucenie połączenia" za błąd przejściowy i próbuje ponownie. Zwykle Wget poddaje się w przypadku URL-i, przy których nie może się połączyć, ponieważ taki błąd uznawany jest za znak całkowitego niedziałania serwera i ponowne próby zwykle nie przyniosłyby rezultatu. Opcja jest przeznaczona do tworzenia kopii lustrzanych stron na niestabilnych serwerach, które mają tendencję do znikania na krótki czas z sieci.
- --user=użytkownik
- --password=hasło
- Określa użytkownika użytkownik i hasło hasło do pobierania plików za pomocą FTP i HTTP. Można przesłonić te parametry za pomocą opcji --ftp-user i --ftp-password w przypadku połączeń FTP oraz --http-user i --http-password w przypadku połączeń HTTP.
- --ask-password
- Pyta o hasło po zestawieniu każdego połączenia. Nie można użyć tej opcji z --password, ponieważ wzajemnie się wykluczają.
- --use-askpass=polecenie
- Prompt for a user and password using the specified command. If no command
is specified then the command in the environment variable WGET_ASKPASS is
used. If WGET_ASKPASS is not set then the command in the environment
variable SSH_ASKPASS is used.
Można ustawić domyślne polecenie dla use-askpass w pliku .wgetrc. To ustawienie może być przesłonięte z wiersza poleceń.
- --no-iri
- Wyłącza obsługę URI ze znakami narodowymi
(IRI). Opcja --iri włącza ją. Obsługa
IRI jest domyślnie włączona.
Można ustawić domyślną wartość obsługi IRI za pomocą polecenia iri w .wgetrc, które może być przesłonięte z wiersza poleceń.
- --local-encoding=kodowanie
- Wymusza użycie kodowania jako domyślnego kodowania
systemowego. Wpływa to na sposób, w jaki Wget
przekształca URL-e podane jako argumenty do kodowania UTF-8, w celu
obsługi IRI.
Wget używa funkcji nl_langinfo(), a następnie zmiennej środowiskowej CHARSET w celu ustalenia kodowania. Jeśli nie powiedzie się to, używane jest ASCII.
Można ustawić domyślne kodowanie lokalne za pomocą polecenia local_encoding w .wgetrc, które może być przesłonięte z wiersza poleceń.
- --remote-encoding=kodowanie
- Wymusza użycie kodowania jako domyślnego kodowania
serwera zdalnego. Wpływa to na sposób tłumaczenia URI
znajdowanych w plikach, z kodowania zdalnego na UTF-8 podczas pobierania
rekurencyjnego.Opcja jest przydatna tylko do obsługi IRI, w celu
interpretacji znaków spoza ASCII.
W przypadku HTTP, kodowanie zdalne można znaleźć w nagłówku HTTP Content-Type i w metaznaczniku HTML Content-Type http-equiv.
Można ustawić domyślne kodowanie za pomocą polecenia remoteencoding w .wgetrc, które może być przesłonięte z wiersza poleceń.
- --unlink
- Wymusza wykonywanie unlink na plikach, zamiast przebijania plików istniejących. Opcja jest przydatna w przypadku pobierania do katalogu zawierającego dowiązania zwykłe (twarde).
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 utworzenie struktury katalogów zaczynającej się od fly.srk.fer.hr/, gdzie trafi cała reszta. Ta opcja wyłącza takie zachowanie.
- --protocol-directories
- Używa nazwy protokołu jako części nazwy katalogu plików lokalnych. Na przykład, po użyciu tej opcji wget -r http://host zostanie zapisane do katalogu http/host/... zamiast do host/....
- --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.
Brak opcji -> 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 przedrostek
- --directory-prefix=prefiks
- Ustawia przedrostek 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¶
- --default-page=nazwa
- Używa nazwy jako domyślnej nazwy pliku, gdy nie jest ona znana (np. w przypadku URL-ów kończących się ukośnikiem), zamiast index.html.
- -E
- --adjust-extension
- Jeśli pobierany jest plik typu application/xhtml+xml lub
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.
Proszę zauważyć, ż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 lub application/xhtml+xml).
Wget upewni się też (stan na wersję 1.12), że pobierane pliki typu text/css kończą się przyrostkiem .css. Zmieniono nazwę tej opcji z --html-extension, aby lepiej oddać to nowe zachowanie. Stara nazwa opcji jest wciąż akceptowana, ale jest przestarzała.
Według stanu na wersję 1.19.2, Wget upewni się również, że pobrane pliki z "Content-Encoding" ustawionym na br, compress, deflate lub gzip, będą kończyły się przyrostkiem (rozszerzeniem), odpowiednio, .br, .Z, .zlib lub .gz.
W przyszłości, opcja może zostać poszerzona, aby objąć również przyrostki innych typów zawartości, w tym takich, które nie są przetwarzane przez Wget.
- --http-user=użytkownik
- --http-password=hasło
- Określa 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) lub
też korzystając z metody Windowsa
(NTLM).
Another way to specify username and password is in the URL itself. Either method reveals your password to anyone who bothers to run "ps". To prevent the passwords from being seen, use the --use-askpass or store them in .wgetrc or .netrc, and make sure to protect those files from other users with "chmod". If the passwords are really important, do not leave them lying in those files either---edit the files and delete them after Wget has started the download.
- --no-http-keep-alive
- Wyłącza funkcję "keep-alive"
pobierań HTTP. Wget zwykle prosi serwer o utrzymywanie otwartego
połączenia, dzięki czemu, jeśli pobiera
się więcej niż jeden dokument z tego samego serwera,
są przesyłane tym samym połączeniem TCP.
Oszczędza to czas i redukuje obciążenie serwera.
Opcja jest przydatna, gdy połączenia stałe (keep-alive) nie działają poprawnie, np. z powodu błędu serwera lub niemożności obsługi takich połączeń przez skrypty po stronie serwera.
- --no-cache
- Wyłącza buforowanie po stronie serwera. W takim przypadku
Wget wysyła zdalnemu serwerowi odpowiednie komendy
(Cache-Control: no-cache i Pragma: no-cache), dzięki
którym plik zostanie pobrany z usługi zdalnej, a nie
zwrócona zostanie wersja buforowana. Jest to szczególnie
przydatne do pobierania i wymiatania przeterminowanych dokumentów z
serwerów proxy.
Domyślnie, buforowanie jest dozwolone.
- --no-cookies
- 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.
Plik 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 przeglądarka. Poszczególne przeglądarki przechowują tekstowe pliki ciasteczek w różnych miejscach:
- "Netscape 4.x."
- Ciasteczka są w ~/.netscape/cookies.txt.
- "Mozilla and 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.
- "Other browsers."
- Jeżeli do tworzenia ciasteczek korzysta się z innej przeglądarki, --load-cookies będzie działać tylko wtedy, gdy uda się je zlokalizować lub utworzyć plik ciasteczek w formacie Netscape, jakiego oczekuje Wget.
Jeśli nie można skorzystać z --load-cookies, jest jeszcze inna możliwość. Jeśli używana przeglądarka udostępnia "menedżera plików cookie", można z niego skorzystać, żeby podglądnąć ciasteczka, jakie zostały wykorzystane podczas uzyskiwania dostępu do witryny, której kopię chce się utworzyć. Proszę zapisać nazwę i wartość ciasteczka, a następnie ręcznie nakazać Wgetowi wysłanie ciasteczka o zadanej postaci, obchodząc równocześnie "oficjalny" kod odpowiedzialny za obsługę ciasteczek:
wget --no-cookies --header "Cookie: I<nazwa>=I<wartość>"
- --save-cookies plik
- Zachowuje ciasteczka do pliku przed wyjściem. Nie zostaną zapisane ciasteczka przeterminowane lub nieposiadające daty ważności (zwane "ciasteczkami sesyjnymi"); por. --keep-session-cookies.
- --keep-session-cookies
- Po podaniu, powoduje że --save-cookies zachowuje
również ciasteczka sesyjne, które zwykle nie
są zapisywane, ponieważ są przeznaczone do zachowania
w pamięci i usunięcia z niej po zamknięciu
przeglądarki. Zachowywanie ich może być przydatne na
stronach, które wymagają logowania lub odwiedzenia strony
głównej przed uzyskaniem dostępu do innych stron. Po
skorzystaniu z tej opcji, różne przebiegi Wgeta mogą
być traktowane jako jedna sesja przeglądarki, w
zależności od strony internetowej.
Ponieważ format pliku ciasteczek nie przechowuje zwykle ciasteczek sesyjnych, Wget oznacza je znacznikiem czasowym przedawnienia równym 0. Opcja --load-cookies rozpoznaje je jako ciasteczka sesyjne, lecz może to zmylić inne przeglądarki. Proszę zwrócić uwagę, że tak załadowane ciasteczka będą traktowane jak inne ciasteczka sesji, co oznacza, że trzeba użyć opcji --keep-session-cookies ponownie, aby zachować je za pomocą opcji --save-cookies.
- --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=wiersz-nagłówka
- Wysyła wiersz-nagłówka razem z
pozostałą częścią
nagłówka w każdym żądaniu HTTP. Podany
nagłówek jest wysyłany bez zmian, tak więc
musi zawierać nazwę i wartość (po dwukropku) i
nie może zawierać znaku nowego wiersza.
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.
Od Wgeta 1.10, można użyć tej opcji do przesłonięcia nagłówków, które byłyby wygenerowane automatycznie. Oto przykład nakazania Wgetowi połączenie z komputerem lokalnym, jednak podając foo.bar w nagłówku Host:
wget --header="Host: foo.bar" http://localhost/
W wersjach poniżej 1.10, takie użycie opcji --header powodowało wysyłanie zduplikowanych nagłówków.
- --compression=typ
- Wybiera używany tryb kompresji. Poprawne wartości to:
auto, gzip i none.
Gdy poda się auto lub gzip, Wget poprosi serwer o skompresowanie pliku za pomocą formatu kompresji gzip. Jeśli serwer skompresuje plik i odpowie odpowiednio ustawionym polem nagłówka Content-Encoding, plik zostanie automatycznie rozpakowany.
Gdy poda się none, wget nie poprosi serwera o kompresowanie pliku i nie rozpakuje tego, co zwróci serwer. Jest to zachowanie domyślne.
Obsługa kompresji jest aktualnie w fazie eksperymentalnej. Jeśli jest włączona, błędy proszę zgłaszać na adres bug-wget@gnu.org.
- --max-redirect=liczba
- Określa maksymalną liczbę przekierowań w celu dotarcia do zasobu. Domyślnie jest to 20, czyli znaczniej więcej niż z reguły potrzeba. Opcja może się przydać, jeśli zajdzie potrzeba pozwolenia na więcej (lub mniej) przekierowań.
- --proxy-user=użytkownik
- --proxy-passwd=hasło
- Określają nazwę użytkownika i hasło,
które zostaną użyte do uwierzytelnianiana serwerze
pośredniczącym. 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-password.
- --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 internetowe i uznawane za poprawne tylko wtedy, gdy Referer jest ustawione na jedną ze stron, które na nie wskazują.
- --save-headers
- Zapisuje nagłówki wysyłane przez serwer HTTP do pliku, przed właściwą zawartością, z pustym wierszem 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ż (kiedyś) Netscape lub, częściej, 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ą.
Podanie pustego łańcucha za pomocą --user-agent="" powoduje, że Wget nie będzie wysyłał nagłówka User-Agent w żądaniach HTTP.
- --post-data=łańcuch
- --post-file=plik
- Używa metody POST do wszystkich żądań HTTP i
wysyła podane dane w ciele żądania.
--post-data wysyła łańcuch jako dane,
podczas gdy --post-file wysyła zawartość
pliku. W pozostałych aspektach ich działanie jest
identyczne. W szczególności obie opcje
oczekują zawartości w postaci
klucz=wartość&klucz2=wartość2,
kodowaniem znaków specjalnych w postaci procentowej; jedyną
różnicą jest, że jedna oczekuje
zawartości jako parametru wiersza polecenia, a druga akceptuje
swą treść z pliku. W szczególności,
--post-file nie przysyła plików w postaci
załączników, muszą być to dane w
postaci klucz=wartość (z
właściwym kodowaniem "procentowym"), jak
zaznaczono wyżej. Wget nie obsługuje obecnie
multipart/form-data przy przesyłaniu danych
POST, a jedynie application/x-www-form-urlencoded.
Proszę użyć jedynie jednej z opcji --post-data
i --post-file.
Proszę zauważyć, że wget nie wymaga aby zawartość była w postaci "klucz1=wartość1&klucz2=wartość2" ani nie sprawdza tego. Wget przesyła takie dane, jakie mu dostarczono. Większość serwerów oczekuje jednak, aby dane POST występowały w powyższej postaci przy przetwarzaniu formularzy HTML.
When sending a POST request using the --post-file option, Wget treats the file as a binary file and will send every character in the POST request without stripping trailing newline or formfeed characters. Any other control characters in the text will also be sent as-is in the POST request.
Proszę zwrócić uwagę, że Wget musi znać rozmiar danych POST z góry. W związku z tym, argumentem do opcji --post-file musi być zwykły plik; przekazanie potoku FIFO lub czegoś takiego jak /dev/stdin nie zadziała. Nie jest do końca jasne, jak obejść to ograniczenie wpisane w protokół HTTP/1.0. Choć HTTP/1.1 wprowadza transfer fragmentaryczny, który nie wymaga wiedzy o długości żądania z góry, to klient nie może go używać, dopóki nie wie, że komunikuje się z serwerem HTTP/1.1. Nie może tego wiedzieć, dopóki nie otrzyma odpowiedzi, która wymaga pełnego żądania...
Uwaga: Według stanu na wersję 1.15 przy przekierowaniu Wgeta po sfinalizowaniu żądania POST, zachowanie programu będzie zależało od kodu zwróconego przez serwer. Jeśli będzie to 301 Moved Permanently, 302 Moved Temporarily lub 307 Temporary Redirect, Wget, zgodnie z RFC2616, będzie kontynuował wysyłanie żądania POST. Jeśli serwer chce zmienić metodę żądań klienta przy przekierowaniu powinien wysłać kod 303 See Other.
Przykład pokazuje, jak zalogować się do serwera używającego POST, a następnie przejść do pobierania żądanych stron, dostępnych prawdopodobnie tylko dla użytkowników uwierzytelnionych:
# Logowanie do serwera. Można to zrobić tylko raz. wget --save-cookies cookies.txt \ --post-data 'user=foo&password=bar' \ http://example.com/auth.php # Teraz przechwytujemy stronę lub strony o które nam chodzi. wget --load-cookies cookies.txt \ -p http://example.com/interesting/article.php
Jeśli serwer używa ciasteczek sesji do śledzenia uwierzytelnienia użytkownika, to powyższy przykład nie zadziała, ponieważ --save-cookies nie zachowa ich (podobnie jak przeglądarki), a plik cookies.txt będzie pusty. W takim przypadku, oprócz --save-cookies należy użyć również --keep-session-cookies.
- --method=metoda-HTTP
- Do skryptów "restowych" (RESTfull, gdzie REST oznacza Representational State Transfer) Wget pozwala na wysłanie innych metod HTTP bez konieczności jawnego ustawiania ich przy pomocy opcji --header=Header-Line. Wget użyje takiego łańcucha, jaki jest mu podany po --method jako metoda HTTP do serwera.
- --body-data=łańcuch-danych
- --body-file=plik-danych
- Opcja musi być ustawiona gdy konieczne jest wysłanie
dodatkowych danych do serwera przy użyciu metody podanej w
--method. --body-data wysyła
łańcuch-danych jako dane, a --body-file
wysyła zawartość pliku-danych. Poza tym obie
opcje działają tak samo.
Obecnie --body-file nie służy do transmisji plików jako całości. Wget nie obsługuje w tej chwili "multipart/form-data" do transmisji danych, a jedynie "application/x-www-form-urlencoded". W przyszłości może się to zmienić tak, aby wget wysyłał --body-file jako cały plik zamiast wysyłania jego zawartości na serwer. Proszę zauważyć, że Wget musi znać wpierw zawartość danych BODY, dlatego argument do opcji --body-file powinien być zwykłym plikiem. Więcej szczegółów znajduje się w opisie opcji --post-file. Powinno się podawać albo opcję --body-data albo --body-file.
Jeśli Wget zostanie przekierowany po sfinalizowaniu żądania, wznowi bieżącą metodę i będzie wysyłał żądanie GET aż do zakończenia przekierowania. Jest tak w przypadku wszystkich kodów z wyjątkiem 307 Temporary Redirect, który służy do bezpośredniego wskazania, ze metoda nie powinna się zmienić. Inny wyjątek ma miejsce gdy metoda jest ustawiona na "POST", ponieważ wówczas przestrzegane są zasady określone przez --post-data.
- --content-disposition
- Opcja włącza eksperymentalną (niepełną)
obsługę nagłówka
Content-Disposition. Może to obecnie
spowodować dodatkowe kluczenie serwera związane z
żądaniami HEAD, znane jest
również kilka błędów, co powoduje,
że opcja ta domyślnie nie jest włączona.
Opcja jest przydatna niektórym programom CGI pobierającym pliki, które używają nagłówków Content-Disposition do opisania nazwy pobieranego pliku.
Przy łączeniu z --metalink-over-http i --trust-server-names, plik Content-Type: application/metalink4+xml otrzymuje nazwę według pola nazwy pliku "Content-Disposition", jeśli takie jest dostępne.
- --content-on-error
- Jeśli ta opcja jest włączona, to wget nie będzie pomijał zawartości gdy serwer odpowie kodem statusu http wskazującym na błąd.
- --trust-server-names
- If this is set, on a redirect, the local file name will be based on the redirection URL. By default the local file name is based on the original URL. When doing recursive retrieving this can be helpful because in many web sites redirected URLs correspond to an underlying file structure, while link URLs do not.
- --auth-no-challenge
- Jeśli opcja jest podana, Wget będzie wysyłał
proste (Basic) informacje uwierzytelniające HTTP (nazwa
użytkownika i hasło w jawnym tekście) przy wszystkich
żądaniach, tak jak domyślnie robił to Wget w
wersjach 1.10.2 i wcześniejszych.
Używanie tej opcji nie jest zalecane, jako że została przeznaczona jedynie do obsługiwania kilku zapomnianych serwerów, które nigdy nie wysyłają pytań o uwierzytelnienie HTTP, lecz akceptują nieżądane informacje uwierzytelniające, oprócz uwierzytelnienia opartego na formularzu.
- --retry-on-host-error
- Consider host errors, such as "Temporary failure in name resolution", as non-fatal, transient errors.
- --retry-on-http-error=kod[,kod,...]
- Consider given HTTP response codes as non-fatal, transient errors. Supply
a comma-separated list of 3-digit HTTP response codes as argument. Useful
to work around special circumstances where retries are required, but the
server responds with an error code normally not retried by Wget. Such
errors might be 503 (Service Unavailable) and 429 (Too Many Requests).
Retries enabled by this option are performed subject to the normal retry
timing and retry count limitations of Wget.
Korzystanie z tej opcji ma na celu jedynie obsługę specjalnych przypadków i nie jest zwykle zalecane, jako że może wymuszać ponowne próby w sytuacjach, gdy serwer faktycznie stara się zmniejszyć swoje obciążenie. Proszę używać rozsądnie i tylko gdy jest się pewnym tego, co się robi.
Opcje (SSL/TLS) HTTPS¶
To support encrypted HTTP (HTTPS) downloads, Wget must be compiled with an external SSL library. The current default is GnuTLS. In addition, Wget also supports HSTS (HTTP Strict Transport Security). If Wget is compiled without SSL support, none of these options are available.
- --secure-protocol=protokół
- Choose the secure protocol to be used. Legal values are auto,
SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2,
TLSv1_3 and PFS. If auto is used, the SSL library is
given the liberty of choosing the appropriate protocol automatically,
which is achieved by sending a TLSv1 greeting. This is the default.
Podanie SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 lub TLSv1_3 wymusza użycie odpowiedniego protokołu. Jest to przydatne przy komunikacji ze starymi i błędnymi implementacjami SSL serwera, które nie pozwalają na łatwy wybór poprawnej wersji protokołu przez bibliotekę SSL. Na szczęście, takie serwery są rzadkością.
Specifying PFS enforces the use of the so-called Perfect Forward Security cipher suites. In short, PFS adds security by creating a one-time key for each SSL connection. It has a bit more CPU impact on client and server. We use known to be secure ciphers (e.g. no MD4) and the TLS protocol. This mode also explicitly excludes non-PFS key exchange methods, such as RSA.
- --https-only
- W trybie rekurencyjnym podąża wyłącznie za odnośnikami HTTPS.
- --ciphers
- Set the cipher list string. Typically this string sets the cipher suites and other SSL/TLS options that the user wish should be used, in a set order of preference (GnuTLS calls it 'priority string'). This string will be fed verbatim to the SSL/TLS engine (OpenSSL or GnuTLS) and hence its format and syntax is dependent on that. Wget will not process or manipulate it in any way. Refer to the OpenSSL or GnuTLS documentation for more information.
- --no-check-certificate
- Nie sprawdza certyfikatu serwera pod kątem dostępnego
ośrodka certyfikacji. Nie wymaga również tego, aby
nazwa hosta URL-a pasowała do nazwy ogólnej w certyfikacie.
Od wersji 1.10, Wget domyślnie weryfikuje certyfikat serwera w odniesieniu do znanych ośrodków certyfikacji, przerywając nawiązanie połączenia SSL (handshaking) i pobieranie pliku, jeśli weryfikacja się nie powiedzie. Choć zwiększa się w ten sposób bezpieczeństwo pobierań, zrywa to jednak kompatybilność z niektórymi stronami, które działały z poprzednimi wersjami Wgeta, szczególnie korzystającymi z podpisanych przez siebie, wygasłych lub niepoprawnych z innego powodu certyfikatów. Opcja ta wymusza "niebezpieczny" tryb działania, który zmienia błędy weryfikacji certyfikatów w ostrzeżenia i pozwala kontynuować.
If you encounter "certificate verification" errors or ones saying that "common name doesn't match requested host name", you can use this option to bypass the verification and proceed with the download. Only use this option if you are otherwise convinced of the site's authenticity, or if you really don't care about the validity of its certificate. It is almost always a bad idea not to check the certificates when transmitting confidential or important data. For self-signed/internal certificates, you should download the certificate and verify against that instead of forcing this insecure mode. If you are really sure of not desiring any certificate verification, you can specify --check-certificate=quiet to tell wget to not print any warning about invalid certificates, albeit in most cases this is the wrong thing to do.
- --certificate=plik
- Używa certyfikatu klienta z pliku. Jest to konieczne w przypadku serwerów wymagających certyfikatów od klientów, którzy się z nimi łączą. Zwykle taki certyfikat nie jest wymagany, a ten przełącznik jest opcjonalny.
- --certificate-type=typ
- Określa typ certyfikatu klienta. Poprawnymi wartościami są PEM (zakładany domyślnie) i DER, znany również jako BASN1.
- --private-key=plik
- Odczytuje klucz prywatny z pliku. Pozwala to na dostarczenie klucza prywatnego w oddzielnym od certyfikatu pliku.
- --private-key-type=typ
- Określa typ klucza prywatnego. Akceptowanymi wartościami są PEM (domyślnie) i DER.
- --ca-certificate=plik
- Używa pliku jako pliku z zestawem ośrodków
certyfikacji ("CA") do weryfikacji pośredników.
Certyfikaty muszą być w formacie PEM.
Bez tej opcji, Wget szuka certyfikatów CA w lokalizacji systemowej, wybranej podczas instalacji OpenSSL.
- --ca-directory=katalog
- Określa katalog zawierający certyfikaty CA w formacie PEM.
Każdy plik zawiera certyfikat CA, a nazwa pliku jest oparta o
wartości skrótu wyliczonego na podstawie certyfikatu.
Osiąga się to przetwarzając katalog
certyfikatów narzędziem rehash
pochodzącego z OpenSSL. Używanie --ca-directory jest
efektywniejsze od --ca-certificate w przypadku, gdy zainstalowanych
jest wiele certyfikatów, ponieważ pozwala Wgetowi
pobierać certyfikaty na żądanie.
Bez tej opcji, Wget szuka certyfikatów CA w lokalizacji systemowej, wybranej podczas instalacji OpenSSL.
- --crl-file=plik
- Specifies a CRL file in file. This is needed for certificates that have been revocated by the CAs.
- --pinnedpubkey=plik/skróty
- Tells wget to use the specified public key file (or hashes) to verify the
peer. This can be a path to a file which contains a single public key in
PEM or DER format, or any number of base64 encoded sha256 hashes preceded
by "sha256//" and separated by ";"
When negotiating a TLS or SSL connection, the server sends a certificate indicating its identity. A public key is extracted from this certificate and if it does not exactly match the public key(s) provided to this option, wget will abort the connection before sending or receiving any data.
- --random-file=plik
- [tylko OpenSSL i LibreSSL] Używa pliku jako
źródła losowych danych służących
za ziarno do generatora liczb pseudolosowych, w systemach pozbawionych
/dev/urandom.
W takich systemach biblioteka SSL wymaga zewnętrznego źródła losowości do rozpoczęcia pracy. Może być EGD (por. --egd-file poniżej) lub odczyt z zewnętrznego źródła podanego przez użytkownika. Jeśli nie poda się tej opcji, Wget poszuka losowych danych w $RANDFILE lub, jeśli zmienna nie jest ustawiona, w $HOME/.rnd.
Pojawienie się błędu "Could not seed OpenSSL PRNG; disabling SSL." oznacza, że należy zapewnić losowe dane korzystając z jednej z powyższych metod.
- --egd-file=plik
- [OpenSSL only] Use file as the EGD socket. EGD stands for
Entropy Gathering Daemon, a user-space program that collects data
from various unpredictable system sources and makes it available to other
programs that might need it. Encryption software, such as the SSL library,
needs sources of non-repeating randomness to seed the random number
generator used to produce cryptographically strong keys.
OpenSSL pozwala użytkownikowi podać swoje źródło entropii za pomocą zmiennej środowiskowej RAND_FILE. Jeśli pozostanie ona nieustawiona lub podany plik nie tworzy wystarczającej losowości, OpenSSL odczyta dane losowe z gniazda EGD podanego za pomocą opisywanej opcji.
Jeśli nie poda się tej opcji (ani nie użyje się równoważnego polecenia uruchomieniowego), EGD nigdy nie zostanie użyte. Mechanizm ten nie jest potrzebny w nowoczesnych systemach uniksowych, obsługujących /dev/urandom.
- --no-hsts
- Wget supports HSTS (HTTP Strict Transport Security, RFC 6797) by default. Use --no-hsts to make Wget act as a non-HSTS-compliant UA. As a consequence, Wget would ignore all the "Strict-Transport-Security" headers, and would not enforce any existing HSTS policy.
- --hsts-file=plik
- By default, Wget stores its HSTS database in ~/.wget-hsts. You can
use --hsts-file to override this. Wget will use the supplied file
as the HSTS database. Such file must conform to the correct HSTS database
format used by Wget. If Wget cannot parse the provided file, the behaviour
is unspecified.
The Wget's HSTS database is a plain text file. Each line contains an HSTS entry (ie. a site that has issued a "Strict-Transport-Security" header and that therefore has specified a concrete HSTS policy to be applied). Lines starting with a dash ("#") are ignored by Wget. Please note that in spite of this convenient human-readability hand-hacking the HSTS database is generally not a good idea.
An HSTS entry line consists of several fields separated by one or more whitespace:
"<nazwa-stacji> SP [<port>] SP <dołączaj-poddomeny> SP <utworzono> SP <wygasa>"
The hostname and port fields indicate the hostname and port to which the given HSTS policy applies. The port field may be zero, and it will, in most of the cases. That means that the port number will not be taken into account when deciding whether such HSTS policy should be applied on a given request (only the hostname will be evaluated). When port is different to zero, both the target hostname and the port will be evaluated and the HSTS policy will only be applied if both of them match. This feature has been included for testing/development purposes only. The Wget testsuite (in testenv/) creates HSTS databases with explicit ports with the purpose of ensuring Wget's correct behaviour. Applying HSTS policies to ports other than the default ones is discouraged by RFC 6797 (see Appendix B "Differences between HSTS Policy and Same-Origin Policy"). Thus, this functionality should not be used in production environments and port will typically be zero. The last three fields do what they are expected to. The field include_subdomains can either be 1 or 0 and it signals whether the subdomains of the target domain should be part of the given HSTS policy as well. The created and max-age fields hold the timestamp values of when such entry was created (first seen by Wget) and the HSTS-defined value 'max-age', which states how long should that HSTS policy remain active, measured in seconds elapsed since the timestamp stored in created. Once that time has passed, that HSTS policy will no longer be valid and will eventually be removed from the database.
If you supply your own HSTS database via --hsts-file, be aware that Wget may modify the provided file if any change occurs between the HSTS policies requested by the remote servers and those in the file. When Wget exits, it effectively updates the HSTS database by rewriting the database file with the new entries.
If the supplied file does not exist, Wget will create one. This file will contain the new HSTS entries. If no HSTS entries were generated (no "Strict-Transport-Security" headers were sent by any of the servers) then no file will be created, not even an empty one. This behaviour applies to the default database file (~/.wget-hsts) as well: it will not be created until some server enforces an HSTS policy.
Care is taken not to override possible changes made by other Wget processes at the same time over the HSTS database. Before dumping the updated HSTS entries on the file, Wget will re-read it and merge the changes.
Using a custom HSTS database and/or modifying an existing one is discouraged. For more information about the potential security threats arose from such practice, see section 14 "Security Considerations" of RFC 6797, specially section 14.9 "Creative Manipulation of HSTS Policy Store".
- --warc-file=plik
- Używa pliku jako celu pliku WARC.
- --warc-header=łańcuch
- Używa łańcucha jako rekordu warcinfo.
- --warc-max-size=rozmiar
- Ustawia maksymalny rozmiar plików WARC na rozmiar.
- --warc-cdx
- Zapisuje pliku indeksu CDX.
- --warc-dedup=pliku
- Nie przechowuje rekordów wyszczególnionych w danym pliku CDX.
- --no-warc-compression
- Nie kompresuje plików WARC za pomocą GZIP.
- --no-warc-digests
- Nie oblicza sum SHA1.
- --no-warc-keep-log
- Nie przechowuje pliku dziennika w rekordzie WARC.
- --warc-tempdir=katalog
- Określa położenie plików tymczasowych tworzonych przy zapisie WARC.
Opcje FTP¶
- --ftp-user=użytkownik
- --ftp-password=hasło
- Określa nazwę użytkownika i hasło serwera FTP.
Bez tej opcji (i równoważnej opcji uruchomieniowej)
używane jest domyślne hasło -wget@,
używane zwykle do anonimowych FTP.
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 należy trzymać ich na stałe -- proszę usunąć je z plików zaraz po rozpoczęciu pobierania przez Wgeta.
- --no-remove-listing
- Nie usuwa 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).
Proszę zauważyć, ż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 (roota) 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.
- --no-glob
- Wyłącza obsługę masek w przypadku FTP.
Obsługa masek oznacza, że można używać
znaków specjalnych, uogólniających
(wieloznacznikó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).
- --no-passive-ftp
- Wyłącza użycie pasywnego trybu transferu FTP.
Pasywny FTP nakazuje klientowi łączącemu się z
serwerem zestawić połączenie, zamiast
wykorzystywać inne rozwiązania.
Jeśli komputer ma bezpośrednie połączenie z Internetem, to zarówno pasywne jak i aktywne FTP powinny działać tak samo dobrze. Za większością zapór sieciowych i konfiguracji NAT, pasywny FTP ma większą szansę działania. Jednak w niektórych rzadkich konfiguracjach zapór, aktywny FTP działa, a pasywny FTP nie. Jeśli zachodzi prawdopodobieństwo, że ma miejsce ta sytuacja, proszę użyć opisywanej opcji lub ustawić w swym pliku konfiguracyjnym passive_ftp=off.
- --preserve-permissions
- Zachowuje uprawnienia zdalnych plików zamiast uprawnień wynikających z umask.
- --retr-symlinks
- By default, when retrieving FTP directories recursively and a symbolic
link is encountered, the symbolic link is traversed and the pointed-to
files are retrieved. Currently, Wget does not traverse symbolic links to
directories to download them recursively, though this feature may be added
in the future.
When --retr-symlinks=no is specified, the linked-to file is not downloaded. Instead, a matching symbolic link is created on the local filesystem. The pointed-to file will not be retrieved unless this recursive retrieval would have encountered it separately and downloaded it anyway. This option poses a security risk where a malicious FTP Server may cause Wget to write to files outside of the intended directories through a specially crafted .LISTING file.
Proszę zauważyć, że przy pobieraniu pliku (nie katalogu) podanego w wierszu poleceń, a nie osiągniętego z powodu pobierania rekurencyjnego, opcja nie odnosi skutku. W takich przypadkach plik docelowy dowiązania jest zawsze pobierany.
Opcje FTPS¶
- --ftps-implicit
- This option tells Wget to use FTPS implicitly. Implicit FTPS consists of initializing SSL/TLS from the very beginning of the control connection. This option does not send an "AUTH TLS" command: it assumes the server speaks FTPS and directly starts an SSL/TLS connection. If the attempt is successful, the session continues just like regular FTPS ("PBSZ" and "PROT" are sent, etc.). Implicit FTPS is no longer a requirement for FTPS implementations, and thus many servers may not support it. If --ftps-implicit is passed and no explicit port number specified, the default port for implicit FTPS, 990, will be used, instead of the default port for the "normal" (explicit) FTPS which is the same as that of FTP, 21.
- --no-ftps-resume-ssl
- Do not resume the SSL/TLS session in the data channel. When starting a data connection, Wget tries to resume the SSL/TLS session previously started in the control connection. SSL/TLS session resumption avoids performing an entirely new handshake by reusing the SSL/TLS parameters of a previous session. Typically, the FTPS servers want it that way, so Wget does this by default. Under rare circumstances however, one might want to start an entirely new SSL/TLS session in every data connection. This is what --no-ftps-resume-ssl is for.
- --ftps-clear-data-connection
- All the data connections will be in plain text. Only the control connection will be under SSL/TLS. Wget will send a "PROT C" command to achieve this, which must be approved by the server.
- --ftps-fallback-to-ftp
- Fall back to FTP if FTPS is not supported by the target server. For security reasons, this option is not asserted by default. The default behaviour is to exit with an error. If a server does not successfully reply to the initial "AUTH TLS" command, or in the case of implicit FTPS, if the initial SSL/TLS connection attempt is rejected, it is considered that such server does not support FTPS.
Opcje pobierania rekurencyjnego¶
- -r
- --recursive
- Włącza pobieranie rekurencyjne. Domyślny maksymalny poziom wynosi 5.
- -l głębokość
- --level=głębokość
- Set the maximum number of subdirectories that Wget will recurse into to
depth. In order to prevent one from accidentally downloading very
large websites when using recursion this is limited to a depth of 5 by
default, i.e., it will traverse at most 5 directories deep starting from
the provided URL. Set -l 0 or -l inf for infinite recursion
depth.
wget -r -l 0 http://I<strona>/1.html
Ideally, one would expect this to download just 1.html. but unfortunately this is not the case, because -l 0 is equivalent to -l inf---that is, infinite recursion. To download a single HTML page (or a handful of them), specify them all on the command line and leave away -r and -l. To download the essential items to view a single HTML page, see page requisites.
- --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
serwer pośredniczący, np.:
wget -r -nd --delete-after http://whatever.com/~popular/page/
Opcja -r nakazuje pobieranie rekurencyjne, a -nd nietworzenie katalogów.
Proszę zauważyć, że --delete-after usuwa pliki z lokalnego komputera. Nie wydaje polecenia DELE, na przykład zdalnym ośrodkom FTP. Takż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.
Proszę zauważyć, ż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ń.
- --convert-file-only
- This option converts only the filename part of the URLs, leaving the rest
of the URLs untouched. This filename part is sometimes referred to as the
"basename", although we avoid that term here in order not to
cause confusion.
It works particularly well in conjunction with --adjust-extension, although this coupling is not enforced. It proves useful to populate Internet caches with files downloaded from different hosts.
Example: if some link points to //foo.com/bar.cgi?xyz with --adjust-extension asserted and its local destination is intended to be ./foo.com/bar.cgi?xyz.css, then the link would be converted to //foo.com/bar.cgi?xyz.css. Note that only the filename part has been modified. The rest of the URL has been left untouched, including the net path ("//") which would otherwise be processed by Wget and converted to the effective scheme (ie. "http://").
- -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 wypisania zawartości katalogów FTP. Obecnie jest równoważna użyciu -r -N -l inf --no-remove-listing.
- -p
- --page-requisites
- 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<strona>/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<strona>/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://<strona>/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<strona>/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://<strona>/1.html
Proszę zauważyć, ż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://<strona>/<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">.
- --strict-comments
- Włącza ścisłe przetwarzanie komentarzy HTML.
Domyślnie, komentarze są przerywane po pierwszym
wystąpieniu -->.
Zgodnie ze specyfikacją, komentarze HTML są wyrażone jako deklaracje SGML. Deklaracja jest specjalnym znacznikiem, rozpoczynającym się <! i kończącym się >, np. <!DOCTYPE ...>, która może zawierać dodatkowe komentarze, między parą ograniczników --. Komentarze HTML są "pustymi deklaracjami", bez tekstu niebędącego komentarzem. Stąd <!--foo--> jest poprawnym komentarzem, jak również <!--one-- --two-->, lecz <!--1--2--> nim nie jest.
Z drugiej strony, większość piszącym HTML nie odczytuje komentarzy jako cokolwiek innego poza tekstem ograniczonym <!-- i -->, co nie jest tym samym. Np. coś takiego: <!------------> jest poprawnym komentarzem o ile liczba minusów jest wielokrotnością czterech (sic!). Jeśli tak nie jest, to ściśle mówiąc komentarz kończy się dopiero po następnym wystąpieniu --, które może nastąpić np. na końcu dokumentu. Z tego powodu, wiele popularnych przeglądarek internetowych całkowicie ignoruje specyfikację i implementuje coś, czego użytkownicy mogą się spodziewać: komentarze ograniczone <!-- i -->.
Do wersji 1.9 Wget interpretował komentarze w sposób ścisły, co powodowało wybrakowanie wielu linków w stronach internetowych wyświetlających się poprawnie w przeglądarkach, lecz mających nieszczęście w postaci niezgodnych z normą komentarzy. Począwszy od wersji 1.9, Wget dołączył do grona klientów implementujących "naiwne" komentarze, zamykając każdy komentarz po pierwszym wystąpieniu -->.
Jeśli zajdzie potrzeba ścisłego parsowania komentarzy, ta opcja je włączy.
Opcje rekurencyjnego akceptowania/odrzucania¶
- -A lista-akc --accept lista-akc
- -R lista-odrz --reject lista-odrz
- Określa oddzieloną przecinkami listę przyrostków lub wzorców nazw plików do, odpowiednio, zaakceptowania lub odrzucenia. Proszę pamiętać, że maski (wieloznaczniki) tzn. *, ?, [ lub ], które pojawią się jako element listy-akc lub listy-odrz, zostaną potraktowane jako wzorzec, a nie przyrostek. W takim przypadku, aby uniknąć rozwinięcia nazwy przez powłokę należy ująć wzorzec w cudzysłowy, jak w przykładach -A "*.mp3" lub -A '*.mp3'.
- --accept-regex url-wyr-reg
- --reject-regex url-wyr-reg
- Określa wyrażenie regularne do zaakceptowania lub odrzucenia całego URL-a.
- --regex-type typ-wyr-reg
- Określa typ wyrażenia regularnego. Dozwolonymi wartościami są posix i pcre. Proszę zauważyć, że w celu użycia typu pcre wget musi mieć wkompilowaną obsługę libpcre.
- -D lista-domen
- --domains=lista-domen
- Ustala domeny, do których program może przechodzić. Lista-domen jest listą separowaną przecinkami. Proszę zauważyć, ż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 HTML. 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. Aby brany był pod uwagę tylko pewien podzbiór tych znaczników, należy użyć tej opcji, podając je w postaci listy separowanej przecinkami.
- --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ś, ta opcja była najlepszym wyborem do ściągania pojedynczej strony razem z jej elementami, użyta w wierszu poleceń:
wget --ignore-tags=a,area -H -k -K -r http://<strona>/<dokument>
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 strony razem z jej elementami jest specjalnie przeznaczona do tego opcja --page-requisites.
- --ignore-case
- Ignoruje wielkość znaków przy dopasowywaniu plików i katalogów. Wpływa to na zachowanie opcji -R, -A, -I i -X, podobnie jak przy stosowaniu masek przy pobieraniu stron FTP. Na przykład, po zastosowaniu tej opcji -A "*.txt" dopasuje plik1.txt, lecz również plik.TXT, plik3.TxT itd. Cudzysłowy w przykładzie powodują, że powłoka nie rozwija wzorca.
- -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 (maski).
- -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 (maski).
- -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.
ŚRODOWISKO¶
Wget obsługuje serwery pośredniczące do pobierań przez HTTP i FTP. Standardową metodą podawania położenia serwera pośredniczącego w przypadku Wgeta, są poniższe zmienne środowiskowe:
- http_proxy
- https_proxy
- Gdy ustawione, zmienne http_proxy i https_proxy powinny zawierać URL-e serwerów pośredniczących w, odpowiednio, połączeniach HTTP i HTTPS.
- ftp_proxy
- Zmienna powinna zawierać URL serwera pośredniczącego w połączeniach FTP. Dość często spotyka się sytuację, gdy http_proxy i ftp_proxy zawierają ten sam URL.
- no_proxy
- Zmienna powinna zawierać listę rozszerzeń domen (separatorem jest przecinek), do których nie będą stosowane serwery pośredniczące. Jeśli na przykład wartość no_proxy wynosi .mit.edu, to serwery pośredniczące nie będą stosowane do pobierania dokumentów z MIT.
STATUS ZAKOŃCZENIA¶
W przypadku wystąpienia problemów Wget może zwrócić jeden z poniższych kodów zakończenia.
- 0
- Nie wystąpiły żadne problemy.
- 1
- Podstawowy kod błędu.
- 2
- Błąd przetwarzania danych -- np. przy przetwarzaniu opcji wiersza polecenia, .wgetrc lub .netrc...
- 3
- Błąd wejścia/wyjścia pliku.
- 4
- Błąd sieci.
- 5
- Błąd weryfikacji SSL.
- 6
- Błąd uwierzytelnienia nazwy użytkownika/hasła.
- 7
- Błędy protokołów.
- 8
- Serwer zwrócił błędną odpowiedź.
Oprócz kodów 0 i 1, kody zakończenia o mniejszej wartości liczbowej mają pierwszeństwo w sytuacji, gdy wystąpi wiele typów błędów.
W wersjach Wgeta do 1.12, kody zakończenia były niespójne i niezbyt pomocne. Pobierania rekurencyjne zawsze zwracały 0 (powodzenie) bez względu na wystąpienie ewentualnych błędów, a nierekurencyjne zwracały zawsze kod zakończenia odpowiadający ostatniej próbie pobierania.
PLIKI¶
- /etc/wgetrc
- Domyślne położenie globalnego pliku startowego.
- .wgetrc
- Plik startowy użytkownika.
USTERKI¶
You are welcome to submit bug reports via the GNU Wget bug tracker (see <https://savannah.gnu.org/bugs/?func=additem&group=wget>) or to our mailing list <bug-wget@gnu.org>.
Visit <https://lists.gnu.org/mailman/listinfo/bug-wget> to get more info (how to subscribe, list archives, ...).
Przed faktycznym przedłożeniem zgłoszenia błędu, proszę spróbować zastosować się do kilku prostych wskazówek.
- 1.
- Proszę 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 ma pewności jak powinno to wyglądać, również może być to błąd, ale proszę dwa razy sprawdzić dokumentację i listy dyskusyjne.
- 2.
- Proszę spróbować powtórzyć ten
błąd w możliwie najprostszych warunkach. Np.
jeśli Wget pada podczas ściągania wget -rl0 -kKE
-t5 -Y0 http://example.com -o /tmp/log, należy
spróbować sprawdzić, czy to wywalanie się jest
powtarzalne i czy pojawia się przy prostszym zestawie opcji.
Można 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 autor będzie zainteresowany zawartością pliku .wgetrc użytkownika, zwykłe skopiowanie go do wiadomości o błędzie jest raczej złym pomysłem. Zamiast tego, należy najpierw sprawdzić, czy błąd powtarza się przy .wgetrc przeniesionym w inne miejsce. Proszę przesłać odpowiednie fragmenty tego pliku tylko wtedy, gdy okaże się, że błąd zależy od ustawień .wgetrc.
- 3.
- Proszę uruchomić Wget z opcją -d i
przesłać uzyskany wynik (lub związane z
błędem jego części). Jeśli Wget
został skompilowany bez obsługi debugowania, proszę
go przekompilować. Dużo łatwiej jest
śledzić błędy z udostępnioną
diagnostyką.
Uwaga: proszę upewnić się, że usunęło się wszystkie potencjalnie prywatne dane z dziennika debugowania, przed wysłaniem go na adres zgłoszeń błędów. Opcja -d nie będzie starała się zbierać danych prywatnych, lecz dziennik będzie zawierał dość kompletny zapis komunikacji Wgeta z serwerem, co może obejmować także hasła i część pobranych danych. Zgłoszenia błędów są archiwizowane publicznie, tak więc należy uznać, że zgłoszenia błędów są również dostępne publicznie.
- 4.
- Jeśli Wget się wywala, proszę uruchomić go w debuggerze, np. gdb `which wget` core i wpisać where, by otrzymać stos wywołania (backtrace). Może się to nie powieść, jeśli administrator systemu wyłączył pliki core, ale zawsze można spróbować.
ZOBACZ TAKŻE¶
Nie jest to kompletny podręcznik GNU Wgeta. Więcej informacji, w tym pełniejszy opis niektórych opcji oraz wiele poleceń możliwych do zastosowania w plikach .wgetrc i z opcją -e znajduje się we wpisie wget w GNU Info.
Also see wget2(1), the updated version of GNU Wget with even better support for recursive downloading and modern protocols like HTTP/2.
AUTOR¶
Originally written by Hrvoje Nikšić <hniksic@xemacs.org>. Currently maintained by Darshit Shah <darnir@gnu.org> and Tim Rühsen <tim.ruehsen@gmx.de>.
PRAWA AUTORSKIE¶
Copyright (c) 1996--2011, 2015, 2018--2022 Free Software Foundation, Inc.
Zezwala się na kopiowanie, rozpowszechnianie i/lub modyfikowanie tego dokumentu na warunkach Licencji Wolnej Dokumentacji GNU (GNU Free Documentation License) w wersji 1.3 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".
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Wojtek Kotwica <wkotwica@post.pl> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
14 maja 2022 r. | GNU Wget 1.21.3 |