Lendo dados de um fluxo HTTP aberto
Eu estou tentando usar as classes .NET WebRequest / WebResponse para acessar a API de streaming do Twitter aqui"http://stream.twitter.com/spritzer.json"
.
Eu preciso ser capaz de abrir a conexão e ler dados incrementalmente a partir da conexão aberta.
Atualmente, quando eu chamoWebRequest.GetResponse
método, bloqueia até que toda a resposta seja baixada. Eu sei que existe umBeginGetResponse
método, mas isso só vai fazer a mesma coisa em um segmento de fundo. Preciso ter acesso ao fluxo de resposta enquanto o download ainda está acontecendo. Isso simplesmente não parece possível para mim com essas classes.
Há um comentário específico sobre isso na documentação do Twitter:
"Observe que algumas bibliotecas de clientes HTTP retornam apenas o corpo da resposta após a conexão ter sido fechada pelo servidor. Esses clientes não funcionarão para acessar a API de Fluxo. Você deve usar um cliente HTTP que retornará dados de resposta de forma incremental. bibliotecas do cliente fornecerão essa funcionalidade. O Apache HttpClient manipulará esse caso de uso, por exemplo. "
Eles apontam para o Appache HttpClient, mas isso não ajuda muito, porque eu preciso usar o .NET.
Alguma idéia de se isso é possível comWebRequest/WebResponse
, ou eu tenho que ir para classes de redes de baixo nível? Talvez existam outras bibliotecas que me permitam fazer isso?
Thx Allen