Urllib.Feil

Urllib.Feil

I dette korte innlegget vil vi diskutere om urllib.Feilmodul som definerer unntaksklassene fra urllib.forespørsel modul.

Modulen støtter følgende unntak:

    1. Urlerror - Denne typen unntak heves når du henter en spesifikk ressurs. Funksjonen gir en grunn egenskap som inneholder detaljert informasjon om årsaken til feilen.
    2. Httperror - Denne typen unntak blir reist i møtet med eksotiske HTTP -feil som Auth. Tilsvarende støtter funksjonen en egenskaper for kode, grunn og overskrifter som returnerer HTTP -statuskode, forklaring av feilen og HTTP -svaret overfor forespørselen.
    3. ContentTooShorterror - Dette unntaket blir hevet hvis de returnerte dataene er mindre enn det forventede beløpet. Datastengden er definert i innholdslengdeoverskriften.

Eksempel 1: Urlerror unntak

Følgende eksempelkode viser hvordan du bruker feilene som er hevet i feilmodulen:

Importer urllib.be om
Importer urllib.analyser
prøve:
r = urllib.be om.Urlopen ("https: // geekbits.io ")
trykk (r)
unntatt unntak som e:
trykk (STR (E)


Husk at Urlerror er en underklasse av Oserror. Derfor, hvis vi kjører den forrige koden uten Internett -tilkobling, bør den returnere en Urlerror som følger:

URL -feil: Urlopen -feil [ERRNO 11001] GetAddrinfo mislyktes

Eksempel 2: Httperror unntak

I det følgende eksemplet illustrerer vi hvordan du bruker urllb.Feilmodul for å håndtere Httperror -unntakene:

Importer urllib.be om
Importer urllib.analyser
prøve:
r = urllib.be om.Urlopen ("https: // httpstat.oss/403 ")
trykk (r)
unntatt unntak som e:
Print (STR (E))


Kjører den forrige koden skal returnere et Httperror -unntak når forespørselen møter en 403 statuskode.

Den resulterende utgangen er som følger:

HTTP -feil 403: forbudt

Konklusjon

I dette innlegget diskuterte vi hvordan du bruker urllib.Feilmodul for å håndtere Urlerror og Httperror unntak.

Glad koding!