Formato dos cookies ao usar o wget?

Formato dos cookies ao usar o wget?

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

Agradeço qualquer ajuda.

Responder1

O formato é o formato 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 semelhante a esta:

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

Cada linha representa uma única informação armazenada. Aabaé inserido entre cada um dos campos.

Da esquerda para a direita, aqui está o que cada campo representa:

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

bandeira- Um valor TRUE/FALSE que indica se todas as máquinas dentro de um determinado domínio podem acessar a variável. Este valor é definido automaticamente pelo navegador, dependendo do valor definido para domínio.

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

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

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

nome- O nome da variável.

valor - O valor da variável.

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

Responder2

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

# Netscape HTTP Cookie File

ou isto:

# HTTP Cookie File

Responder3

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"

Depende ?__login etcdo site que você está tentando espelhar, talvez seja necessário verificar como funciona o formulário de autenticação.

Então você pode usar:

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

informação relacionada