Você está cometendo vários erros por não fazer o que seu navegador faria :
- Você precisa enviar a solicitação POST com as credenciais de login para a ação de formulário, por exemplo,
https://github.com/session. - Você precisa fornecer todos os parâmetros de formulário, incluindo o parâmetro de formulário oculto percentual codificado
authenticity_token. - Você precisa fornecer os cookies de sessão definidos por
/login.
A única coisa que não exigia que eu esperaria é configurar o referenciador.
O que você precisa fazer:
$ wget --keep-session-cookies --save-cookies cookies.txt -O login.rsp https://github.com/login
$ grep authenticity_token login.rsp
Isso solicitará a página de login, armazenará a sessão e imprimirá o CSRF valor do formulário oculto do token (mais algum HTML circundante).
Agora faça o login após percent-encoding todos os parâmetros, especialmente o valor do parâmetro de forma oculta authenticity_token que geralmente contém pontuação:
$ wget --load-cookies cookies.txt --keep-session-cookies --save-cookies cookies.txt --post-data='login=USERNAME&password=PASSWORD&authenticity_token=TOKEN_VALUE_PRINTED_BY_GREP_THEN_PERCENT_ENCODED' https://github.com/session
Você vai se recuperar um pouco, e vai acabar em https://github.com , assim como ao fazer login no navegador.