In questo articolo vedremo come verificare lo stato di un URL con Python utilizzando il modulo requests.

Si tratta di effettuare una richiesta HEAD e verificare se il codice di stato HTTP restituito non sia uguale o superiore a 400.

import requests

def check_url(url=None):
    if url is None:
        return False
    ok = True
    try:
        res = requests.head(url)
        ok = True if res.status_code >= 200 and res.status_code < 400 else False
    except requests.exceptions.RequestException:
        ok = False
    return ok

In caso di errori HTTP o di errori nella connessione, la nostra funzione restituirĂ  il valore booleano False.