Пример потоковой передачи запросов не работает в моей среде

мы пытались использовать API потоковой передачи Twitter, используя запросы Python.

Там'спростой пример в документации:

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)

Когда я выполню это, вызовrequests.post() никогда не вернется. Я'Мы экспериментировали и доказали, что он определенно подключается к Twitter и получает данные от API. Однако вместо того, чтобы возвращать объект ответа, он просто сидит там и потребляет столько данных, сколько отправляет Twitter. Судя по приведенному выше коду, я бы ожидалrequests.post() вернуть объект ответа с открытым подключением к Твиттеру, по которому я мог бы продолжать получать результаты в реальном времени.

(Чтобы доказать, что он получает данные, я подключился к Twitter, используя те же учетные данные в другой оболочке, после чего Twitter закрыл первое соединение, и вызов вернул объект ответа.r.content Атрибут содержит все данные резервной копии, полученные при открытом соединении.)

В документации не упоминаются какие-либо другие действия, необходимые дляrequests.post вернуть, прежде чем использовать все предоставленные данные. Другие люди, кажется, используют подобный код, не сталкиваясь с этой проблемой, например,здесь я'

м с помощью:

Python 2.7Ubuntu 11.04Запросы 0.14.0

Ответы на вопрос(2)

Ваш ответ на вопрос