Wget

Aus DebianforumWiki
Wechseln zu: Navigation, Suche
WikiNetzwerk ‹ Wget


Diese Seite behandelt das Kommando Debianpackage.png Wget, welches zum Holen von Dateien über HTTP, HTTPS und FTP dient. Es ist ein nicht-interaktives Kommandozeilen-Werkzeug, wodurch es zur Verwendung in Skripts, Cronjobs, Terminals ohne X uvm. geeignet ist.

Deutsche Hilfe

Mit folgendem Befehl bekommt man unter einer deutschen Umgebung eine deutsche Erklärung aller Kommandozeilen-Optionen angezeigt.

user@debian:~$ wget --help

User-Agent

HTTP ermöglicht mit der User-Agent Zeile im Header, dass sich Client-Programme selbst und die Version dem Server Bekanntgeben können. Debianpackage.png Wget gibt sich als Wget/VERSION aus. Einige Webseiten blockieren Debianpackage.png wget, da diese es als Robot, Spider, Crawler etc. einstufen, und liefern an diesen User-Agent keine Seiten aus.

Den User-Agent ändern

Um den User-Agent von Debianpackage.png wget abzuändern, gibt man mit der Kommandozeilen-Option -U, --user-agent einen anderen an.

user@debian:~$ wget -U "agent-string" http://example.net/path/to/file.html

Will man den User-Agent dauerhaft abändern, trägt man diesen in die Konfigurationsdatei ein.

user@debian:~$ cat $HOME/.wgetrc 
user_agent =
Hinweis.png Hinweis: Ein leerer Wert veranlasst Debianpackage.png wget, keinen User-Agent-Header im HTTP-Request zu senden.


Login

Muss man sich auf einer Webseite einloggen, kann man Benutzernamen und Passwort über die Kommandozeile mitgeben.

user@debian:~$ wget --user=USER --password=PASS URL

Verlangt ein FTP-Server nach einem Login, ist der Befehl leicht modifiziert.

user@debian:~$ wget --ftp-user=USER --ftp-password=PASS URL

Dauerhafte Logins werden in die Konfigurationsdatei .netrc eintragen.

Hinweis.png Hinweis: Eine URL erlaubt auch dass direkte Angeben eines Login:
http://USER:PASS@example.net


Proxy

Debianpackage.png Wget wertet hier zuerst die Variablen in der Konfigurationsdatei .wgetrc und danach die Umgebungsvariablen aus.

Folgende Variablen stehen zur Verfügung:

  • http_proxy
  • https_proxy
  • ftp_proxy

Ein Login am Proxy wird über die Optionen --proxy-user=USER und --proxy-password=PASS angeben.

Ausnahmen

Über die no_proxy Variable können durch Komma getrennt Domains festgelegt werden, für die niemals ein Proxy genutzt werden soll. Mit der Variable use_proxy = no kann die Nutzung von Proxys ganz deaktiviert werden.

Soll einmalig kein Proxy genutzt werden, ruft man Debianpackage.png wget mit der Kommandozeilen-Option --no-proxy auf.

Die robots.txt-Datei

Mit der robots.txt können Webseiten-Betreiber Spider und Crawler bitten, Teile ihrer Webseite von der Indizierung auszuschließen. Eine bessere Erklärung zur robots.txt-Datei bietet Wikipedia. Wget hält sich per default an die Anweisung in der robots.txt, dies kann jedoch mit der Option -e robots=off unterbunden werden:

user@debian:~$ wget -r -l0 --no-parent -e robots=off http://www.example.net/dir/

(Der Aufruf ist dem Beispiel Rekursives Herunterladen vorweggenommen)

Rekursives Herunterladen

Folgendes Beispiel lädt eine URL rekursiv in das aktuelle Verzeichnis. Wobei hier mit --no-parent nicht in das übergeordnete Verzeichnis gewechselt wird.

user@debian:~$ wget -r -l0 --no-parent http://www.example.net/dir/

Eine Erweiterung des obigen Aufrufs stellt --accept="png,ogg,ps" dar, womit man eine Komma-unterteilte Liste der zu ladenden Dateiendungen angeben kann. Diese fungiert dann wie ein Filter. Das Gegenstück ist --reject, womit Dateiendungen ausgelassen werden können.

Sonstiges

  • Debianpackage.png wput: Das Äquivalent zu Wget, es dient im Gegensatz zu Wget zum hochladen von Dateien auf Server. (Ein FTP-Programm)
  • Debianpackage.png gwget: GNOME-Frontend für Wget. (Grafische Benutzeroberfläche)