Como baixar esta página da Web com o Wget?

6

Eu quero baixar o link da página, mas ele exige um nome de usuário e uma senha. Então eu usei isso:

wget --save-cookies cookies.txt --post-data 'user=goyamy&passwrd=mypassword' http://forum.ubuntu-it.org/

Mas isso não funciona! Por quê?

    
por xRobot 25.11.2010 / 03:03

3 respostas

2

Isso é possivelmente porque o servidor usa cookies de sessão para rastrear a autenticação. Adicione a opção --save-cookies ao lado para forçar o cookie a ser salvo. Então, o seu comando é assim:

wget --keep-session-cookies --save-cookies cookies.txt --post-data 'user=goyamy&passwrd=mypassword' http://forum.ubuntu-it.org/

Ainda não testei.

    
por 25.11.2010 / 11:43
6

Aqui está um script de exemplo que despejará cookies do Chrome (v19).

#!/bin/bash -e
#
# Quick and dirty script which dumps all Chrome cookies in 
# the specified SQLite database to stdout in Netscape format.

COOKIE_FILE='~/.config/google-chrome/Default/Cookies'

echo -e '.mode tabs \n select host_key, httponly, path, secure, ' \
  'expires_utc/10000000, name, value from cookies;' |
  sqlite3 $COOKIE_FILE |
  sed -e 's/\t0\t/\tFALSE\t/g ' -e 's/\t1\t/\tTRUE\t/g'
    
por 04.06.2012 / 04:20
0

Como Colin sugere, este site está usando cookies de sessão para autenticação, mas a resposta dele não funcionará completamente porque não fará com que você faça login.

Você precisa ter um cookie para passar ao servidor na solicitação inicial. Use a opção --load-cookies do wget ( documentada aqui ). Observe que isso usa o antigo formato de arquivo cookies.txt em vez do formato de banco de dados sqlite que o Firefox e o Chrome usam atualmente.

Veja o que eu faria:

  1. Usando o Firefox ou o Chrome, acesse o site e faça login. (Certifique-se de que seu navegador esteja configurado para salvar cookies)
  2. Sair do seu navegador
  3. Encontre seu arquivo de cookie
  4. Converter para o formato cookies.txt (consulte as notas abaixo)
  5. wget --load-cookies cookies.txt http://forum.ubuntu-it.org/

As opções para converter do formato sqlite para cookies.txt incluem um script python ou um script sqlite mais simples (nos comentários do link anterior), mas o mais fácil para você pode ser instalar esta extensão do Firefox .

    
por 25.11.2010 / 14:35