2012-08-11 76 views
1

嘿,我正在使用python腳本來測試web商務網站上的功能。我把這個劇本上pythonanywhere現場,有時就像7天連續沒有問題,但有天,像這樣的,當我得到這個錯誤:Python腳本奇怪的問題

Logged in with test_cart 
    Open http://[***]/electronics/page/1 
Search ... iphone 
[****************] 
    File "/home/.../cart-pickup.py", line 58, in alo 
    site = opener.open(url) 
    File "/usr/local/lib/python2.7/urllib2.py", line 400, in open 
    response = self._open(req, data) 
    File "/usr/local/lib/python2.7/urllib2.py", line 418, in _open 
    '_open', req) 
    File "/usr/local/lib/python2.7/urllib2.py", line 378, in _call_chain 
    result = func(*args) 
    File "/usr/local/lib/python2.7/urllib2.py", line 1207, in http_open 
    return self.do_open(httplib.HTTPConnection, req) 
    File "/usr/local/lib/python2.7/urllib2.py", line 1180, in do_open 
    r = h.getresponse(buffering=True) 
    File "/usr/local/lib/python2.7/httplib.py", line 1030, in getresponse 
    response.begin() 
    File "/usr/local/lib/python2.7/httplib.py", line 407, in begin 
    version, status, reason = self._read_status() 
    File "/usr/local/lib/python2.7/httplib.py", line 371, in _read_status 
    raise BadStatusLine(line) 
    httplib.BadStatusLine: '' 
    >>>   

任何想法可能是什麼? 在此先感謝

+3

我不認爲這是你的Python腳本一個問題,而是一個與問題它試圖與之交談的Web服務器。 – 2012-08-11 10:41:13

回答

3

你可以教你的程序如何從這種情況下恢復,而不使用try..except崩潰:

try: 
    site = opener.open(url) # line 58 in cart-pickup.py 
except IOError: 
    print "Error: Site not loading or it isnt UP. Retrying..." 
    # return site # This will cause a NameError if site is not defined. 
    return url # Perhaps you meant this? 
except httplib.BadStatusLine: 
    # log opening `url` did not succeed, or 
    # queue it to be tried again, etc. 
    pass 
+0

我在python中有點新。所以我不知道是否有可能在一段時間內有2個除外。我的代碼看起來是這樣的:def ALO(URL): testurl = 1 而testurl == 1: 嘗試: 網站= opener.open(URL) lagsafe = 0 除了IO錯誤: 打印「錯誤:網站無法正在加載或它不是正在重試...「 返回站點 那麼,我怎麼可以你的代碼? – 2012-08-11 11:15:20

+1

只需添加第二個,除了您目前的除外。 – 2012-08-11 11:20:18

+0

不起作用。它說不好的語法,並把它IDLE blinker(我使用Windows)在第二個除外:) – 2012-08-15 19:45:07