1

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

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

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

但是,对于缺少此内容长度的 URL,如果缺少内容长度,它只会破坏脚本。而不是引发异常,我想在分配之前简单地检查它是否存在contentLen,然后如果它存在则分配实际content-length值,如果它不存在则分配值“NULL”。所以这可以打印为“ Null”。

提前致谢。

4

1 回答 1

1

conn.headers是 a httplib.HTTPMessage,它是 的子类,rfc822.Message因此具有(有限的)类似dictinterface。您可以使用 2 参数调用来get提供默认值。

contentLen = conn.headers.get('content-length','NULL')
于 2012-11-14T16:55:20.440 回答