2012-11-14 33 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

相關問題