Sådan bruges Pythons anmodningsbibliotek til HTTP

requests-biblioteket er et populært Python-modul, der forenkler processen med at lave HTTP-anmodninger. Det abstraherer kompleksiteten af ​​at håndtere anmodninger og svar, hvilket gør det nemmere at interagere med webtjenester og API'er. I denne artikel vil vi udforske det grundlæggende i brugen af ​​requests-biblioteket, herunder hvordan man sender forskellige typer HTTP-anmodninger og håndterer svar.

Installation af anmodningsbiblioteket

Før du kan bruge requests ​​biblioteket, skal du installere det. Du kan installere det ved hjælp af pip, Python-pakkehåndteringen. Kør følgende kommando i din terminal:

pip install requests

Lav en simpel GET-anmodning

Den mest basale HTTP-anmodning er en GET-anmodning, som henter data fra en server. Sådan kan du bruge requests-biblioteket til at lave en GET-anmodning:

import requests

response = requests.get('https://api.github.com')
print(response.status_code)
print(response.json())

I dette eksempel sender vi en GET-anmodning til GitHub API og udskriver HTTP-statuskoden og svarindholdet i JSON-format.

Sender POST-anmodninger

POST-anmodninger bruges til at sende data til en server, såsom formularindsendelser. Sådan sender du en POST-anmodning 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 eksempel sender vi en POST-anmodning med nogle formulardata til httpbin.org-testtjenesten og udskriver svarstatuskoden og indholdet.

Håndtering af forespørgselsparametre

Nogle gange skal du inkludere forespørgselsparametre i dine anmodninger. requests-biblioteket gør dette nemt ved at tillade dig at sende parametre som en ordbog:

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 eksempel inkluderer vi forespørgselsparametre i en GET-anmodning og udskriver den endelige URL med parametrene inkluderet.

Arbejde med overskrifter

Du skal muligvis inkludere tilpassede overskrifter i dine anmodninger, f.eks. til godkendelse eller for at angive indholdstyper. Sådan tilføjer du overskrifter til dine anmodninger:

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 eksempel inkluderer vi en autorisationsheader i anmodningen til GitHub API og udskriver statuskoden og svarindholdet.

Håndtering af timeouts og undtagelser

Det er vigtigt at håndtere potentielle problemer såsom netværkstimeouts og andre undtagelser. requests-biblioteket giver dig mulighed for at angive timeouts og fange undtagelser:

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 eksempel sætter vi en timeout for anmodningen og fanger eventuelle undtagelser, der opstår, og udskriver en fejlmeddelelse, hvis noget går galt.

Konklusion

requests-biblioteket er et kraftfuldt og brugervenligt værktøj til at lave HTTP-anmodninger i Python. Uanset om du henter data fra API'er, sender formularindsendelser eller håndterer brugerdefinerede headers, gør requests-biblioteket det nemt at udføre disse opgaver med blot et par linjer kode. Ved at mestre det grundlæggende, der er dækket i denne artikel, vil du være godt rustet til at interagere med webtjenester og API'er i dine Python-projekter.