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.