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:
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.