As informações da sessão provavelmente são salvas em um cookie para permitir que você navegue para outras páginas depois de efetuar login.
Se este for o caso, você pode fazer isso em duas etapas:
- Use as opções
wget
--save-cookies mycookies.txt
e--keep-session-cookies
na página de login do site, juntamente com as opções--username
e--password
- Use a opção
wget
--load-cookies mycookies.txt
nas páginas subseqüentes que você está tentando recuperar.
EDITAR
Se a opção --password
e --username
não funcionar, você deverá descobrir as informações enviadas ao servidor pela página de login e imitá-las:
- Para uma solicitação de
GET
, você pode adicionar os parâmetrosGET
diretamente no endereço que o wget deve buscar (certifique-se de citar corretamente os caracteres&
,=
e outros caracteres especiais). O URL provavelmente seria parecido comhttps://the_url?user=foo&pass=bar
. - Para uma solicitação de
POST
, você pode usar a opçãowget
de--post-data=the_needed_info
para usar o método post nas informações de login necessárias.
EDIT 2
Parece que você realmente precisa do método POST
com o j_username
e j_password
set. Tente a opção --post-data='j_username=yourusername&j_password=yourpassword
para wget
.
EDIT 3
Com a página de origem, pude entender um pouco mais do que está acontecendo. Dito isto, não posso ter certeza de que funciona porque, bem, eu não tenho (nem quero) credenciais válidas.
Dito isso, aqui está o que está acontecendo:
- A página
https://progtest.fit.cvut.cz/
define um cookiePHPSESSID
e apresenta as opções de login. - Clicar no botão
login
envia uma solicitação parahttps://progtest.fit.cvut.cz/shibboleth-fit.php
, que pega o cookie PHPSESSID (não tenho certeza se o usa) e o redireciona para o mecanismo SSO com um URL especialmente criado para você, semelhante a este: código% - A resposta do SSO define um novo cookie chamado
https://idp2.civ.cvut.cz/idp/profile/SAML2/Redirect/SSO?SAMLRequest=SOME_VERY_LONG_AND_UNIQUE_ID
e redireciona você para a página_idp_authn_lc_key
, que o redireciona novamente parahttps://idp2.civ.cvut.cz:443/idp/AuthnEngine
(a página de login real) - Você insere suas credenciais e envia os dados de postagem
https://idp2.civ.cvut.cz:443/idp/Authn/UserPassword
ej_username
junto com o cookie da resposta do SSO - ???
Os primeiros quatro passos podem ser feitos com j_password
assim:
origin='https://progtest.fit.cvut.cz/'
# Get the PHPSESSID cookie
wget --save-cookies phpsid.cki --keep-session-cookies "$origin"
# Get the _idp_authn_lc_key cookie
wget --load-cookies phpsid.cki --save-cookies sso.cki --keep-session-cookies --header="Referer: $origin" 'https://progtest.fit.cvut.cz/shibboleth-fit.php'
# Send your credentials
wget --load-cookies sso.cki --save-cookies auth.cki --keep-session-cookies --post-data='j_username=usr&j_password=pwd' 'https://idp2.civ.cvut.cz/idp/Authn/UserPassword'
Observe que wget
segue o redirecionamento sozinho, o que nos ajuda bastante nesse caso.