Urllib.Błąd

Urllib.Błąd

W tym krótkim poście omówimy o urllib.Moduł błędu, który określa klasy wyjątki z urllib.Moduł żądania.

Moduł obsługuje następujące wyjątki:

    1. URLERROR - Ten typ wyjątku jest podniesiony podczas pobierania określonego zasobu. Funkcja zawiera właściwość przyczyny, która zawiera szczegółowe informacje o przyczynie błędu.
    2. HTTPERROR - Ten typ wyjątku jest podniesiony w spotkaniu egzotycznych błędów HTTP, takich jak autoryzacja. Podobnie funkcja obsługuje właściwości kodu, rozumu i nagłówków, które zwracają kod stanu HTTP, wyjaśnienie błędu i nagłówki odpowiedzi HTTP odpowiednio dla żądania.
    3. ContentToosterRor - Ten wyjątek jest podniesiony, jeśli zwrócone dane są mniejsze niż oczekiwana kwota. Długość danych jest zdefiniowana w nagłówku długości zawartości.

Przykład 1: Wyjątek URLERROR

Poniższy przykład pokazuje, jak używać błędów podniesionych w module błędów:

importować urllib.wniosek
importować urllib.analizować
próbować:
r = urllib.wniosek.urlopen („https: // geekbits.io ")
druk (r)
z wyjątkiem wyjątku jako E:
Drukuj (STR (e)


Należy pamiętać, że URLERROR jest podklasą Oserror. Dlatego jeśli uruchomimy poprzedni kod bez łączności internetowej, powinien on zwrócić URLERROR w następujący sposób:

Błąd URL: Błąd URLOPEN [errno 11001] getAddrinfo nie powiodło się

Przykład 2: Wyjątek httperror

W poniższym przykładzie ilustrujemy, jak korzystać z URLLB.Moduł błędu do obsługi wyjątków httperror:

importować urllib.wniosek
importować urllib.analizować
próbować:
r = urllib.wniosek.urlopen ("https: // httpstat.US/403 ”)
druk (r)
z wyjątkiem wyjątku jako E:
print (str (e))


Uruchomienie poprzedniego kodu powinno zwrócić wyjątek HTTPerror, ponieważ żądanie napotyka kod stanu 403.

Powstałe wyjście jest następujące:

HTTP Błąd 403: Zakazany

Wniosek

W tym poście omówiliśmy, jak korzystać z urllib.Moduł błędu do obsługi wyjątków URLERROR i HTPERROR.

Szczęśliwe kodowanie!