(Python) ConnectionError: Max retries exceeded with url


To solve the requests “ConnectionError: Max retries exceeded with url”, use a Retry object and specify how many connection-related errors to retry on and set a backoff factor to apply between attempts.

main.py

 

import requests
from requests.adapters import HTTPAdapter, Retry


def make_request():
    session = requests.Session()
    retry = Retry(connect=3, backoff_factor=0.5)
    adapter = HTTPAdapter(max_retries=retry)
    session.mount('http://', adapter)
    session.mount('https://', adapter)

    url = 'https://reqres.in/api/users'
    response = session.get(url)

    parsed = response.json()

    print(parsed)


make_request()

The Session object allows us to persist certain parameters across requests.

We passed the following keyword arguments to the Retry object:

  • connect – the number of connection-related errors to retry on
  • backoff_factor – a backoff factor factor to apply between attempts after the second try.

 

The example above retries the request 3 times with backoff factor of 0.5 seconds after the second try.

You can also use a try/except block if you don’t want to retry when an error occurs.

main.py

 

import requests

def make_request():
try:
url = 'https://reqres.in/api/users'
response = requests.get(url)

parsed = response.json()

print(parsed)
except requests.exceptions.ConnectionError:
#

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/python/279975.html

(0)
上一篇 2022年8月11日 22:07
下一篇 2022年8月11日 22:07

相关推荐

发表回复

登录后才能评论