2012-11-14 34 views
1

我有一个脚本“出现”在我们的测试环境中工作,因为缺乏可见性。然而,我们现在正在测试我们的产品前环境,我们注意到以下问题:Python:Urllib2检查标题中缺少的内容长度

脚本的基本功能是在主机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”。

在此先感谢。

回答

1

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

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

这样做的伎俩!谢谢! – MHibbin

相关问题