Skip to main content
 首页 » 编程设计

python之如何使用urllib2打开 'infinite' jpg

2025年05月04日16powertoolsteam

我正在使用 urllib2 open 下载一些网页。不幸的是,一个页面是无限流(一组实时视频帧)并且 urllib2 不会超时,因为打开调用成功,而“读取”调用永远挂起。示例代码:

res = opener.open(encoded, timeout=timeout) 
log('opened', url) 
contents = res.read() 
log('never get here') 

关于避免/终止这些连接有什么技巧吗?

请您参考如下方法:

使用 Jacob 提到的生成器方法,我集成了一个“终止开关”。

startime = datetime.now() 
res = opener.open(url, timeout=timeout) 
contents = '' 
for item in res: 
  contents += item 
  if (datetime.now() - starttime).seconds > timeout: 
    raise IOError('timeout')