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 ^^

Foi útil?

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!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top