Usando o wget para buscar o site protegido por senha (página wiki do trac)

5

Eu quero escrever um script bash que irá me notificar sobre as mudanças em uma linha do tempo do wiki do trac. Infelizmente eu não posso "login" (precisa de cookies para os próximos logins).

wget http://someserver.com/trac/xxx/login \
--save-cookies=cookies --keep-session-cookies

wget http://someserver.com/trac/xxx/login \
--load-cookies=cookies \ 
--save-cookies=cookies.new --keep-session-cookies\
--post-data=user=viroos&password=myPassword

Eu recebo:

Error 400: Bad Request

Eu também tentei --user --opções de senha:

wget --no-check-certificate --user viroos --password myPassword\ 
https://someserver.com/trac/xxx/timeline?ticket=on&changeset=on&milestone=on&wiki=on&blog=on&max=50&daysback=90&format=rss

Mas isso faz o download apenas da página de login.

O que estou fazendo de errado?

    
por Maciek Sawicki 06.11.2009 / 02:27

2 respostas

4

Eu acho que você está muito próximo da solução. Isso deve funcionar dependendo da sua configuração:

wget --no-check-certificate --user viroos --password myPassword \
     --save-cookies=cookies --keep-session-cookies \
     https://someserver.com/trac/xxx/login

wget --no-check-certificate --load-cookies=cookies \
     https://someserver.com/trac/xxx/timeline?ticket=on&changeset=on&milestone=on&wiki=on&blog=on&max=50&daysback=90&format=rss

A primeira chamada faz a autorização na URL / login e salva o cookie de autenticação. A segunda chamada deve ter o que você deseja.

Isso funcionará se você tiver a autohrização básica ativada em .... / trac / login url.

    
por 21.01.2010 / 15:46
1

Os sinalizadores --user / - password no wget, para URLs http, cobrem a autenticação básica HTTP. O Trac tem seu próprio mecanismo de login, então esses sinalizadores não funcionarão neste caso.

Existe uma maneira de fazer o que você quer (embora eu não tenha certeza se o wget é capaz de fazer isso), mas antes de gastar tempo nessa direção, você considerou usar o Conteção de RSS do canal TRAC ?

O feed RSS permitirá que você assine as alterações na linha do tempo, usando seu leitor de RSS favorito e seja notificado sobre elas. Ele também fornecerá um arquivo XML padrão para facilitar a análise, para que você possa fazer o que quiser com os dados.

    
por 06.11.2009 / 07:21