Slik bruker du Pythons forespørselsbibliotek for HTTP
requests
-biblioteket er en populær Python-modul som forenkler prosessen med å lage HTTP-forespørsler. Den abstraherer bort kompleksiteten ved å håndtere forespørsler og svar, noe som gjør det lettere å samhandle med nettjenester og APIer. I denne artikkelen vil vi utforske det grunnleggende om bruk av requests
-biblioteket, inkludert hvordan du sender ulike typer HTTP-forespørsler og håndterer svar.
Installere forespørselsbiblioteket
Før du kan bruke requests
-biblioteket, må du installere det. Du kan installere den ved å bruke pip
, Python-pakkebehandleren. Kjør følgende kommando i terminalen din:
pip install requests
Foreta en enkel GET-forespørsel
Den mest grunnleggende HTTP-forespørselen er en GET-forespørsel, som henter data fra en server. Slik kan du bruke requests
-biblioteket til å lage en GET-forespørsel:
import requests
response = requests.get('https://api.github.com')
print(response.status_code)
print(response.json())
I dette eksemplet sender vi en GET-forespørsel til GitHub API og skriver ut HTTP-statuskoden og svarinnholdet i JSON-format.
Sender POST-forespørsler
POST-forespørsler brukes til å sende data til en server, for eksempel skjemainnsendinger. Slik sender du en POST-forespørsel med requests
-biblioteket:
import requests
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://httpbin.org/post', data=data)
print(response.status_code)
print(response.json())
I dette eksemplet sender vi en POST-forespørsel med noen skjemadata til httpbin.org-testtjenesten og skriver ut svarstatuskoden og innholdet.
Håndtering av spørringsparametre
Noen ganger må du inkludere søkeparametere i forespørslene dine. requests
-biblioteket gjør dette enkelt ved å la deg sende parametere som en ordbok:
import requests
params = {'search': 'python', 'page': 1}
response = requests.get('https://httpbin.org/get', params=params)
print(response.status_code)
print(response.url)
I dette eksemplet inkluderer vi søkeparametere i en GET-forespørsel og skriver ut den endelige nettadressen med parameterne inkludert.
Arbeid med overskrifter
Du må kanskje inkludere egendefinerte overskrifter i forespørslene dine, for eksempel for autentisering eller for å spesifisere innholdstyper. Slik legger du til overskrifter i forespørslene dine:
import requests
headers = {'Authorization': 'Bearer YOUR_TOKEN'}
response = requests.get('https://api.github.com/user', headers=headers)
print(response.status_code)
print(response.json())
I dette eksemplet inkluderer vi en autorisasjonshode i forespørselen til GitHub API og skriver ut statuskoden og svarinnholdet.
Håndtering av tidsavbrudd og unntak
Det er viktig å håndtere potensielle problemer som nettverkstidsavbrudd og andre unntak. requests
-biblioteket lar deg spesifisere tidsavbrudd og fange unntak:
import requests
from requests.exceptions import RequestException
try:
response = requests.get('https://httpbin.org/delay/5', timeout=3)
response.raise_for_status()
print(response.status_code)
print(response.text)
except RequestException as e:
print(f'An error occurred: {e}')
I dette eksemplet setter vi et tidsavbrudd for forespørselen og fanger opp eventuelle unntak som oppstår, og skriver ut en feilmelding hvis noe går galt.
Konklusjon
requests
-biblioteket er et kraftig og brukervennlig verktøy for å lage HTTP-forespørsler i Python. Enten du henter data fra APIer, sender skjemainnsendinger eller håndterer tilpassede overskrifter, gjør requests
-biblioteket det enkelt å utføre disse oppgavene med bare noen få linjer med kode. Ved å mestre det grunnleggende dekket i denne artikkelen, vil du være godt rustet til å samhandle med nettjenester og API-er i Python-prosjektene dine.