Format plików cookie podczas korzystania z wget?

31

Co znajduje się w formacie Netscape od wget„s cookies.txt? Muszę wykonać kopię lustrzaną witryny, która wymaga zalogowania. Korzystam z rozszerzenia Chrome, które zwraca pliki cookie w tym formacie, zapisuję je cookies.txt, importuję za pomocą wgetpolecenia, ale bezużyteczne, po prostu pobiera zawartość, jakbym wcale nie był zalogowany.

Doceniam każdą pomoc.

Zarko Djuric
źródło

Odpowiedzi:

46

Format ma format Netscape, jak podano na stronie podręcznika, a ten format to:

Układ pliku cookies.txt Netscape jest taki, że każda linia zawiera jedną parę nazwa-wartość. Przykładowy plik cookie.txt może mieć wpis, który wygląda następująco:

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

Każda linia reprezentuje jedną przechowywaną informację. Zakładka jest włożona pomiędzy każdym z pól.

Od lewej do prawej, oto co reprezentuje każde pole:

domena - domena, która utworzyła AND, która może odczytać zmienną.

flag - wartość PRAWDA / FAŁSZ wskazująca, czy wszystkie maszyny w danej domenie mogą uzyskać dostęp do zmiennej. Ta wartość jest ustawiana automatycznie przez przeglądarkę, w zależności od wartości ustawionej dla domeny.

ścieżka - ścieżka w domenie, dla której zmienna jest ważna.

secure - wartość TRUE / FALSE wskazująca, czy bezpieczne połączenie z domeną jest potrzebne do uzyskania dostępu do zmiennej.

expiration - czas UNIX, przez który upłynie zmienna. Czas UNIX jest definiowany jako liczba sekund od 1 stycznia 1970 r. 00:00:00 GMT.

name - nazwa zmiennej.

wartość - wartość zmiennej.

(Z „ The Unofficial Cookie FAQ ”, zredagowane dla przejrzystości)

ETL
źródło
3
Czy plik lub spacja są oddzielone?
Ferrybig
3
@ferrybig Zakładki są używane.
geckon
czy jest coś specjalnego, czy ciasteczko pochodzi np. z 127.0.0.1 zamiast czegoś z nazwą domeny?
PypeBros,
4

Jednym ze sposobów uzyskania plików cookie dla wget jest użycie opcji --keep-session-cookies wget.

Na przykład :

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

?__login etcZależy na stronie internetowej, którą próbujesz lustrze, można przyjrzeć się jak działa uwierzytelnianie formularzy.

Następnie możesz użyć:

wget --mirror --load-cookies cookies.txt http://MYSITE/
Arthur Lutz
źródło
3
to nie odpowiada na pytanie, jaki jest format pliku
Michael
2

Format pliku cookie Netscape dla każdej linii danych jest taki jak powyżej, ale nie będzie można go odczytać, HTTP::Cookies::Netscapechyba że ma on taki wiersz nagłówka, który wymaga pełnego formatu pliku:

# Netscape HTTP Cookie File

albo to:

# HTTP Cookie File
Phil Goetz
źródło