O exemplo de streaming de solicitações não funciona no meu ambiente

Eu tenho tentado consumir a API Twitter Streaming usando solicitações Python.

Há umexemplo simples na documentação:

import requests
import json

r = requests.post('https://stream.twitter.com/1/statuses/filter.json',
    data={'track': 'requests'}, auth=('username', 'password'))

for line in r.iter_lines():
    if line: # filter out keep-alive new lines
        print json.loads(line)

Quando eu executo isso, a chamada pararequests.post() nunca retorna. Eu experimentei e provei que é definitivamente conectar-se ao Twitter e receber dados da API. No entanto, em vez de retornar um objeto de resposta, ele fica lá consumindo tantos dados quanto o Twitter envia. A julgar pelo código acima, eu esperariarequests.post() para retornar um objeto de resposta com uma conexão aberta para o Twitter que eu poderia continuar a receber resultados em tempo real.

(Para provar que estava recebendo dados, conectei-me ao Twitter usando as mesmas credenciais em outro shell, após o que o Twitter fechou a primeira conexão e a chamada retornou o objeto de resposta.r.content atributo continha todos os dados de backup recebidos enquanto a conexão estava aberta.)

A documentação não menciona nenhuma outra etapa necessária para causarrequests.post para retornar antes de consumir todos os dados fornecidos. Outras pessoas parecem estar usando código semelhante sem encontrar esse problema, por exemploAqui.

Estou a usar:

Python 2.7Ubuntu 11.04Pedidos 0.14.0

questionAnswers(2)

yourAnswerToTheQuestion