2016-09-16 139 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 
相关问题