Python HTTPConnection 在侦听响应时发送数据

问题描述

我正在侦听无限长的 httpconnection 响应,但需要在侦听时通过同一连接发送数据。代码大致如下:

c = httplib.httpconnection(server,port,timeout)
c.request('GET',path,body,headers)
response = c.getresponse()

while True:
    d = response.read(chunk)
    c.send(something)

返回的数据在循环外实时处理。响应流不能被中断,它是一个永远不会结束的低带宽流。在注释掉 c.send(something) 时,使用上面的代码接收这些数据可以正常工作,但是我还需要在接收时发回数据,这就是我添加 c.send(something) 的原因。问题是 something 在完全收到响应之前不会发送 - 这不会发生。

有没有办法在同一个http连接上发送数据,同时还可以无限流接收数据?

编辑:经过更多研究后,似乎 httplib.httpconnection 不支持此类操作。解决方案是改用 socket.connect。需要对标头进行一些手动调整,但最终会完成这项工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)