Format von Cookies bei Verwendung von wget?

Format von Cookies bei Verwendung von wget?

Was ist das Netscape-Format von wget? cookies.txtIch muss eine Website spiegeln, die eine Anmeldung erfordert. Ich verwende eine Chrome-Erweiterung, die Cookies in diesem Format zurückgibt. Ich speichere sie in cookies.txt, importiere mit wgetdem Befehl, aber das nützt nichts, es lädt einfach den Inhalt herunter, als wäre ich überhaupt nicht angemeldet.

Ich bin für jede Hilfe dankbar.

Antwort1

Das Format ist das Netscape-Format, wie in der Manpage angegeben, und dieses Format ist:

Das Layout der Datei cookies.txt von Netscape ist so, dass jede Zeile ein Name-Wert-Paar enthält. Eine Beispieldatei cookies.txt könnte einen Eintrag wie diesen haben:

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

Jede Zeile stellt eine einzelne gespeicherte Information dar.Tabwird zwischen den einzelnen Feldern eingefügt.

Von links nach rechts stellt jedes Feld Folgendes dar:

Domain- Die Domäne, die die Variable erstellt hat UND lesen kann.

Flagge- Ein TRUE/FALSE-Wert, der angibt, ob alle Rechner in einer bestimmten Domäne auf die Variable zugreifen können. Dieser Wert wird automatisch vom Browser festgelegt, abhängig von dem Wert, den Sie für die Domäne festgelegt haben.

Weg- Der Pfad innerhalb der Domäne, für die die Variable gültig ist.

sicher– Ein TRUE/FALSE-Wert, der angibt, ob zum Zugriff auf die Variable eine sichere Verbindung mit der Domäne erforderlich ist.

Ablauf- Die UNIX-Zeit, zu der die Variable abläuft. Die UNIX-Zeit wird als Anzahl der Sekunden seit dem 1. Januar 1970, 00:00:00 GMT definiert.

Name- Der Name der Variable.

Wert - Der Wert der Variable.

(Aus "Die inoffiziellen Cookie-FAQs", zur besseren Übersichtlichkeit bearbeitet)

Antwort2

Das Dateiformat der Netscape-Cookies für jede Datenzeile ist wie oben beschrieben. Sie können sie jedoch nur einlesen, HTTP::Cookies::Netscapewenn sie eine Kopfzeile wie diese aufweisen, die für das vollständige Dateiformat erforderlich ist:

# Netscape HTTP Cookie File

oder dieses:

# HTTP Cookie File

Antwort3

Eine Möglichkeit, Cookies für wget zu erhalten, besteht darin, die Option --keep-session-cookies von wget zu verwenden.

Zum Beispiel :

wget --keep-session-cookies --save-cookies cookies.txt "http://MYSITE/?__login=USER&__password=PASS"

Dies ?__login etchängt von der Website ab, die Sie spiegeln möchten. Möglicherweise müssen Sie sich ansehen, wie das Authentifizierungsformular funktioniert.

Dann können Sie Folgendes verwenden:

wget --mirror --load-cookies cookies.txt http://MYSITE/

verwandte Informationen