Python urllib2:尽快读取数据

时间:2013-02-28 12:35:33

标签: python http

我有一个特定的HTTP服务器,它接受传入连接并保持打开状态,不时发送数据,如聊天消息。

我尝试使用以下代码:

#!/usr/bin/env python2.6
# -*- coding: utf-8 -*-

import urllib2

url = "http://localhost/chat"

if __name__ == "__main__":
    for line in urllib2.urlopen(url):
        print line

这应该在用户终止脚本后立即打印聊天消息。事实上,这个脚本等待1分钟,而不是打印在这一分钟内到达的每条消息,然后退出。

有没有办法强制python保持连接打开并立即打印收到的数据?

1 个答案:

答案 0 :(得分:2)

据我所知urllib2维护其缓冲区,并且您无法使用urllib2(以文档化的方式,至少)执行您想要的操作。您最好直接使用httplib