Entre para um site e, em seguida, POST para uma página em que
Pergunta
Eu tenho para acessar uma página usando três parâmetros, depois que eu tenho que POST dois parâmetros para outra página dentro do site Acabei logado.
Até agora eu tenho um cookie com o seguinte:
curl -c cookie.txt -d "username=username&pwd=pwd&domain=mydomain" http://myurl
... dentro do cookie Eu tenho um id JSESSION. Eu uso o cookie da seguinte forma:
curl -b cookie.txt -d "par=value" http://myurlnumbertwo
Problemas:
- mesmo após um POST para o URL de login eu recebo no console o código HTML da página de login, isso significa que o login não teve êxito? Como posso encontrar o erro que causou isso, talvez um log?
- após um login bem-sucedido como faço para permanecer na sessão de login e postar meus parâmetros para a outra página?
EDIT:
Eu finalmente consegui esse trabalho após dica de stran, segue o código.
- POST_DATA contém a seqüência exata codificada que foi publicado, como em 'parâmetro1 = value1 & parameter2 = value2'
- ACTION_URL contém a URL completa na qual o formulário é lançado, como em https://stackoverflow.com/users/login
Primeiro eu fiz um
wget --save-cookie cookie.txt --post-data 'POST_DATA' ACTION_URL
para fazer o login e salvar o cookie, seguido por um:
wget --load-cookie cookie.txt --post-data 'POST_DATA' ACTION_URL
para fazer o post que eu precisava, obrigado novamente pela dica ^^
Solução
Eu daria wget uma tentativa. Há uma opção --save-cookies
e --load-cookies
que permite que você use um arquivo de cookie. Há também uma facilidade para lidar com cookies de sessão, --keep-session-cookies
. Consulte a página man wget para mais:)
Pessoalmente, eu tive muito melhor sorte com pós através de wget.
GL!