Formato dei cookie quando si utilizza wget?


31

Qual è il formato di Netscape di wgets' cookies.txt? Devo eseguire il mirroring di un sito Web che richiede l'accesso. Uso un'estensione di Chrome che restituisce i cookie in quel formato, li salvo, li cookies.txtimporta con wgetcomando ma non serve a niente, scarica semplicemente il contenuto come se non fossi loggato.

Apprezzo qualsiasi aiuto.

Risposte:


46

Il formato è il formato Netscape come indicato nella pagina man e questo formato è:

Il layout del file cookies.txt di Netscape è tale che ogni riga contiene una coppia nome-valore. Un file cookies.txt di esempio può contenere una voce simile al seguente:

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

Ogni riga rappresenta un singolo pezzo di informazioni memorizzate. Viene inserita una scheda tra ciascuno dei campi.

Da sinistra a destra, ecco cosa rappresenta ogni campo:

domain - Il dominio che ha creato AND che può leggere la variabile.

flag - Un valore TRUE / FALSE che indica se tutte le macchine all'interno di un determinato dominio possono accedere alla variabile. Questo valore viene impostato automaticamente dal browser, a seconda del valore impostato per il dominio.

path - Il percorso all'interno del dominio per cui è valida la variabile.

secure - Un valore TRUE / FALSE che indica se è necessaria una connessione sicura con il dominio per accedere alla variabile.

scadenza - Il tempo UNIX su cui scadrà la variabile. L'ora UNIX è definita come il numero di secondi dal 1 ° gennaio 1970 alle 00:00:00 GMT.

name - Il nome della variabile.

valore - Il valore della variabile.

(Da " Le domande frequenti sui cookie non ufficiali ", modificato per maggiore chiarezza)


3
Il file Tab o Space è separato?
Ferrybig

3
Vengono utilizzate le schede @ferrybig.
Geckon,

qualcosa di speciale viene dal cookie, ad es. 127.0.0.1 invece di qualcosa con un nome di dominio?
PypeBros

4

Un modo per ottenere i cookie per wget è usare le opzioni --keep-session-cookies di wget.

Per esempio :

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

La ?__login etcdipende dal sito che stai cercando di specchio, si potrebbe guardare a come funziona il modulo di autenticazione.

Quindi puoi usare:

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

3
questo non risponde alla domanda su quale sia il formato del file
Michael

2

Il formato del file dei cookie di Netscape per ciascuna riga di dati è come sopra, ma non sarai in grado di leggerlo a HTTP::Cookies::Netscapemeno che non abbia una riga di intestazione come questa, che il formato di file completo richiede:

# Netscape HTTP Cookie File

o questo:

# HTTP Cookie File
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.