Formato de cookies ao usar o wget?

31

Qual é o formato Netscape de wget's cookies.txt? Preciso espelhar um site que exija login. Eu uso uma extensão do Chrome que retorna cookies nesse formato, eu os salvei cookies.txt, importei com o wgetcomando, mas sem uso, ele apenas baixa o conteúdo como se eu não estivesse logado.

Agradeço qualquer ajuda.

Zarko Djuric
fonte

Respostas:

46

O formato é o Netscape, conforme indicado na página de manual e este formato é:

O layout do arquivo cookies.txt do Netscape é tal que cada linha contém um par nome-valor. Um exemplo de arquivo cookies.txt pode ter uma entrada parecida com esta:

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

Cada linha representa uma única informação armazenada. Uma guia é inserida entre cada um dos campos.

Da esquerda para a direita, eis o que cada campo representa:

domínio - O domínio que criou E que pode ler a variável.

flag - Um valor TRUE / FALSE indicando se todas as máquinas em um determinado domínio podem acessar a variável. Este valor é definido automaticamente pelo navegador, dependendo do valor definido para o domínio.

path - O caminho dentro do domínio para o qual a variável é válida.

secure - Um valor TRUE / FALSE indicando se é necessária uma conexão segura com o domínio para acessar a variável.

expiração - O horário UNIX em que a variável expirará. A hora do UNIX é definida como o número de segundos desde 1 de janeiro de 1970 00:00:00 GMT.

nome - o nome da variável.

valor - o valor da variável.

(Em " Perguntas frequentes sobre cookies não oficiais ", editado para maior clareza)

ETL
fonte
3
O arquivo Tab ou Space é separado?
precisa saber é o seguinte
3
As abas @ferrybig são usadas.
geckon 6/01/16
algo especial é o cookie vem, por exemplo, 127.0.0.1 em vez de algo com um nome de domínio?
PypeBros
4

Uma maneira de obter cookies para o wget é usar as opções --keep-session-cookies do wget.

Por exemplo :

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

O ?__login etcdepende do site que você está tentando espelho, você pode ter que olhar como funciona o formulário de autenticação.

Então você pode usar:

wget --mirror --load-cookies cookies.txt http://MYSITE/
Arthur Lutz
fonte
3
isso não responder à pergunta sobre o que o formato do arquivo é
Michael
2

O formato de arquivo dos cookies Netscape para cada linha de dados é o descrito acima, mas você não poderá lê-lo, a HTTP::Cookies::Netscapemenos que tenha uma linha de cabeçalho como esta, exigida pelo formato completo do arquivo:

# Netscape HTTP Cookie File

ou isto:

# HTTP Cookie File
Phil Goetz
fonte