urllib.respons

urllib.respons
En av de mest innflytelsesrike og verdifulle pakkene i Python -økosystemet er urllib. Denne pakken gir et enkelt og kraftig grensesnitt for å komme med HTTP -forespørsler med Python. Det er et flott verktøy, og selv om det ikke er inkludert som standard, brukes det av millioner av andre pakker.

Urllib -pakken er mangfoldig; med forskjellige funksjoner, klasser og objekter for å utføre flere oppgaver. Essensen av denne opplæringen er å lære om responsmodulen.

Hva er urllib.respons?

Urllib.Response er en modul som definerer funksjonene og klassene som brukes til forespørsler i et fillignende grensesnitt.

Funksjoner definert i urllib.Responsmodul

Modulen definerer et sett med funksjoner som brukes internt av urllib.forespørsel modul. Funksjonene beskrevet i denne modulen inkluderer:

  1. URL -Kontroller for å følge omdirigere operasjoner.
  2. Overskrifter - Returnerer overskriftene for responsen i e -postmeldingsinstansen.
  3. Status - Returnerer statuskoden til serveren.

Eksempel 1

Vi kan hente overskriftene fra en gitt forespørsel ved å bruke overskriftene til HttpResponse -objektet. Et eksempel er vist nedenfor:

Fra urllib.Be om import urlopen
Fra Pprint Import Pprint
med urlopen ("http: // geekbits.io ") som svar:
sende
Pprint (svar.overskrifter.elementer ())

Eksemplet ovenfor returnerer detaljert overskriftsinformasjon om responsen. Et eksempelutgang vises nedenfor:

[('Forbindelse', 'Lukk'),
('Innholdslengde', '110385'),
('Server', 'OpenResty'),
('Innholdstype', 'tekst/html; charset = utf-8'),
('Status', '200 OK'),
('Via', '1.1 lakk, 1.1 lakk '),
('Accept-Ranges', 'byte'),
('Dato', 'Tir, 13. september 2022 16:29:13 GMT'),
('Alder', '76750'),
('X-servert-by', 'Cache-Ams21052-AMS, Cache-JNB7020-JNB'),
('X-cache', 'hit, hit'),
('X-cache-hits', '1, 1'),
('X-Timer', 'S1663086554.603638, vs0, ve0 '),
('Vary', 'Accept-Encoding, Cookie'),
('Fast', 'True'),
('Alt-SVC', 'Clear')]
(utgangspunkt)

Selv om du har all overskriftsinformasjon, trenger du sannsynligvis ikke å bruke det hele. Du kan for eksempel filtrere spesifikke overskrifter som vist:

Fra urllib.Be om import urlopen
Fra Pprint Import Pprint
med urlopen ("http: // geekbits.io ") som svar:
sende
Pprint (svar.getheader ("Status"))

I disse tilfellene returnerer spørringen statuskoden til forespørselen som vist:

'200 ok'

Vi kan også hente karakteren som er satt direkte fra responsen, som vist i kodebiten nedenfor:

Fra urllib.Be om import urlopen
Fra Pprint Import Pprint
med urlopen ("http: // geekbits.io ") som svar:
kropp = respons.lese()
charset = respons.overskrifter.get_content_charset ()
Pprint (Charset)

Og uten tvil returnerer koden svaret på karakterkodingen:

'UTF-8'
(utgangspunkt)

Konklusjon

I dette innlegget lærte du om urllib.Responsmodul, som definerer klasser og funksjoner som brukes av andre urllib -moduler. Du oppdaget også hvordan du bruker forskjellige funksjoner i modulen for å hente annen informasjon.