
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 wget
comando 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::Netscape
a 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 etc
do 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/