Python:Urllib2检查标题中缺少的内容长度

时间:2012-11-14 16:51:30

标签: python urllib2 content-length

我有一个“出现”的脚本在我们的测试环境中工作,因为缺乏可见性。但是,我们现在正在测试我们的预制环境,我们注意到以下问题...

脚本的基本功能是在主机Web前端执行HTTP / URL请求,并返回状态代码以及内容大小(即content-length)。我无法解决问题,如何在将content-lenght分配给变量之前对其进行检查。目前我有以下内容:

#... Code ...
try:
  conn = urllib2.urlopen(line, timeout=1)
  contentLen = conn.headers['content-length']
#... Code ...

但是对于缺少此内容长度的网址,如果缺少内容长度,则只会破坏脚本。我不想提出异常,而是在分配contentLen之前检查它是否存在,然后如果它存在则分配实际的content-length值,如果它不存在则分配值“NULL”。因此,可以将其打印为“Null”。

提前致谢。

1 个答案:

答案 0 :(得分:1)

conn.headers是一个httplib.HTTPMessage,它是rfc822.Message的子类,因此有一个(有限的)dict-like interface。您可以使用get的2参数调用来提供默认值。

contentLen = conn.headers.get('content-length','NULL')