免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 17863 | 回复: 1
打印 上一主题 下一主题

httplib.BadStatusLine异常 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 10:57 |只看该作者 |倒序浏览
刚开始学习python, 写了个抓取论坛附件的小工具, 遍历每个页面解析附件信息。

但是随机在请求某个页面(共需要请求几万个页面)的时候抛出BadStatusLine异常

    程序结构大致如此:

    conn =  httplib.HTTPConnection("www.xxx.com", timeout=30)
    try:
          conn.request("GET", "xxx.html", "", header)
          r1 = conn.getresponse()
          ....
      except httplib.HTTPException as ex:
         print r1.status, r1.reason, ex

执行时经常抛出 BadStatusLine("''",), 通过抓包分析, 发现此时服务器在收到程序的GET请求后只回应了ACK,几秒钟没有发数据

Traceback (most recent call last):
  File "F:\Python27\get_file.py", line 27, in <module>
    r1 = conn.getresponse()
  File "F:\Python27\lib\httplib.py", line 1027, in getresponse
    response.begin()
  File "F:\Python27\lib\httplib.py", line 407, in begin
    version, status, reason = self._read_status()
  File "F:\Python27\lib\httplib.py", line 371, in _read_status
    raise BadStatusLine(line)

我想知道在无法改变服务器现状的情况下, 如何避免我的程序自动退出? 因为即使我不加异常处理时也会有问题

         
   
   

论坛徽章:
0
2 [报告]
发表于 2012-02-16 17:11 |只看该作者
回复 1# morris2600

你捕获异常不就不会自动退出了吗

except httplib.BadStatusLine,e:
       ...

欢迎访问我的站点:
http://www.jfy-stone.cn/
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP