Как обработать «ошибку HTTP 502» в Python? - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь обработать «HTTP ERROR 502», который исходит от службы reddit api с момента превышения лимита

Итак, я пытаюсь восстановить соединение, используя следующий фрагмент кода:

import urllib
import urllib.request
from urllib.error import URLError, HTTPError
from urllib.request import Request, urlopen

try:
    with urllib3.request.urlopen(submission.url) as url:
        arr = np.asarray(bytearray(url.read()), dtype=np.uint8)
        rgb_img = cv2.imdecode(arr, -1) 
        cv2.imwrite(os.path.join('image_data',str(unique_name)+".jpg"),rgb_img)

except HTTPError as e:
    if e.code == 502:

        @retry(urllib.URLError, tries=4, delay=3, backoff=2)
         def urlopen_with_retry():
             return urllib.urlopen(submission.url)

          urlopen_with_retry()

    else:                    
        print ('Failure: ' + str(e.reason))

Но это не работает, и выдает ошибку, что "retry" не найден в urlib

Как правильно обрабатывать ошибки HTTP 500 ish?

...