Acessando o Twitter de 5 formas: protocolo HTTP, cURL, classe HttpRequest (PHP), função http_post_fields() do PHP ou PHP+libcurl

Nesse artigo demostrarei como acessar o twitter de 5 formas. Todas embasadas no envio de variáveis via método POST do protocolo HTTP.

[ Hits: 27.607 ]

Por: Ricardo Ferreira Martins em 14/10/2010


Primeiro método (via método POST do protocolo HTTP)



Em meu primeiro artigo mostrarei como construir algumas interfaces alternativas para acesso ao Twitter.

Primeiro temos que esclarecer que para a autenticação no Twitter pela internet é necessário o envio de algumas variáveis pelo método POST do protocolo HTTP para a página do Twitter, que deve receber essas variáveis em https://twitter.com/sessions.

As variáveis requeridas são:
  • authenticity_token
  • return_to_ssl
  • session[username_or_email]
  • session[password]
  • q

Uma amostra simples em HTTP dá a noção de como enviar essas informações para o Twitter:

<html>
<head>

</head>
<body>
<form name="form1" method="method" action="https://twitter.com/sessions">
<input type="hidden" name="authenticity_token" value="d5b3fee21b5d30551969d15b7b1667af8874785a" />
<input type="hidden" name="return_to_ssl" value="true" />
<input type="hidden" name="session[username_or_email]" value="SEU_USUARIO_DO_TWITTER" />
<input type="hidden" name="session[password]" value="SUA_SENHA_DO_TWITTER" />
<input type="hidden" name="q" value="" />
</form>
</body>
</html>

Obs.:
  • As variáveis e o campo action foram descobertos com o uso aplicativo que captura os headers http que transitam na rede, no caso utilizei uma extensão do Mozilla Firefox intitulada live http header.
  • A variável "q" deve ser passada com valor nulo (Talvez nem precise ser passada. Não testei).
  • O valor da variável "authenticity_token" pode ser fixo como no exemplo, desde que não haja várias tentativas simultâneas de login. Caso afirmativo, o twitter retornará uma daquelas mensagem gráficas para confirmação manual.

Pode se fazer um script PHP que leia o valor dessa variável no código fonte da página do Twitter. Sugestão: utilizar a função:

$html = htmlentities(file("http://www.twitter.com"));

E capturar a chave dentro do código com a função:

preg_match $padrao = '/authenticity\_token\" value=\"(.*)\"/'; preg_match($padrao, $html, $matches, PREG_OFFSET_CAPTURE, 3); print_r($matches);

    Próxima página

Páginas do artigo
   1. Primeiro método (via método POST do protocolo HTTP)
   2. Segundo método (via programa cURL)
   3. Terceiro método (via classe HttpRequest do PHP)
   4. Quarto método (via função http_post_fields() do PHP)
   5. Quinto método (via libcurl do PHP)
Outros artigos deste autor

Compactador de URL utilizando manipulação de diretórios do Linux com PHP

Leitura recomendada

Como atribuir notícias RSS ao seu site usando ATOM e PHP

BolachaMALPPH Apache X Lighttpd X PHP/FastCGI X APC X HTTPREF X MySQL

Formantando nomes com caracteres especiais em PHP

Debugando aplicações PHP com Xdebug e Eclipse PDT

PEAR - Utilizando classes prontas e documentadas no PHP

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts