2016-09-16 94 views
0

此代碼是否正確?我最終得到了Errno 111,該程序仍然退出,而不是一次又一次地嘗試。在urllib2.URLError後再次嘗試:<urlopen錯誤[Errno 111]連接被拒絕>

當我收到連接錯誤時,我想等待10秒,然後重試以再次獲取URL。

我正在使用Python 2.7。

import errno 
for attempt in range(20): 
    try: 
     browser.get(url) 
    except EnvironmentError as exc: 
     if exc.errno == errno.ECONNREFUSED: 
      anow = datetime.datetime.now() 
      print("got a 111 connection error",anow) 
      time.sleep(10) 
     elif exc.errno == errno.ECONNRESET: 
      anow = datetime.datetime.now() 
      print("got a RESET connection error",anow) 
      time.sleep(10) 
     else: 
      continue 
    else: 
     break 
else: 
    print("tried 20 times - kept getting Error") 
+0

111是否與您的代碼相關?你確定那些想要幫助你的人不必查找你可以提供給你的東西嗎? –

回答

0

所以這是我落得這樣做,它似乎工作:我想要的是什麼錯誤之後,將重新再試 什麼,還告訴我是什麼錯誤。此代碼在PythonANywhere上運行,所以我不擔心鍵盤中斷等等。此外,range()中的嘗試確保代碼不會像在While True循環中那樣永遠運行。

for attempt in range(1,3): 
     try: 
      browser.get(url) 
      print("browser success",i) 
      break 
     except Exception as e: 
      print(e," Attempt:" + str(attempt)) 
      time.sleep(4) 
      pass 
相關問題