我有一个“看起来”在我们的测试环境中工作的脚本,因为它缺乏可见性。然而,我们现在正在我们的预生产环境中测试,我们注意到了以下问题...
该脚本的基本功能是在主机web前端执行HTTP/URL请求,并返回状态代码和内容大小(即content-length)。我在解决如何在将content-lenght赋值给变量之前对它进行检查时遇到了问题。目前我有以下几点:
#... Code ...
try:
conn = urllib2.urlopen(line, timeout=1)
contentLen = conn.headers['content-length']
#... Code ...但是,对于缺少此内容长度的URL,如果缺少内容长度,则只会破坏脚本。我不想引发异常,而是简单地在赋值contentLen之前检查它是否存在,如果它存在,则指定实际的NULL值,如果它不存在,则赋值为“content-length”。因此,这可以打印为"Null“。
提前谢谢。
发布于 2012-11-15 00:55:20
conn.headers是一个httplib.HTTPMessage,它是rfc822.Message的一个子类,因此有一个(有限的) dict-like interface。您可以使用对get的双参数调用来提供默认值。
contentLen = conn.headers.get('content-length','NULL')https://stackoverflow.com/questions/13383362
复制相似问题