Hur man använder Pythons begärandebibliotek för HTTP

requests-biblioteket är en populär Python-modul som förenklar processen att göra HTTP-förfrågningar. Det abstraherar bort komplexiteten i att hantera förfrågningar och svar, vilket gör det lättare att interagera med webbtjänster och API:er. I den här artikeln kommer vi att utforska grunderna för att använda requests-biblioteket, inklusive hur man skickar olika typer av HTTP-förfrågningar och hanterar svar.

Installera Request Library

Innan du kan använda requests-biblioteket måste du installera det. Du kan installera det med pip, Python-pakethanteraren. Kör följande kommando i din terminal:

pip install requests

Gör en enkel GET-förfrågan

Den mest grundläggande HTTP-förfrågan är en GET-förfrågan, som hämtar data från en server. Så här kan du använda requests-biblioteket för att göra en GET-förfrågan:

import requests

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

I det här exemplet skickar vi en GET-förfrågan till GitHub API och skriver ut HTTP-statuskoden och svarsinnehållet i JSON-format.

Skickar POST-förfrågningar

POST-förfrågningar används för att skicka data till en server, till exempel formulärinlämningar. Så här skickar du en POST-förfrågan 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 det här exemplet skickar vi en POST-förfrågan med vissa formulärdata till testtjänsten httpbin.org och skriver ut svarsstatuskoden och innehållet.

Hantera frågeparametrar

Ibland behöver du inkludera frågeparametrar i dina förfrågningar. requests-biblioteket gör detta enkelt genom att låta dig skicka parametrar 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 det här exemplet inkluderar vi frågeparametrar i en GET-begäran och skriver ut den slutliga webbadressen med parametrarna inkluderade.

Arbeta med rubriker

Du kan behöva inkludera anpassade rubriker i dina förfrågningar, till exempel för autentisering eller för att ange innehållstyper. Så här lägger du till rubriker i dina förfrågningar:

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 det här exemplet inkluderar vi en auktoriseringshuvud i begäran till GitHub API och skriver ut statuskoden och svarsinnehållet.

Hantera timeouts och undantag

Det är viktigt att hantera potentiella problem som nätverkstimeout och andra undantag. requests-biblioteket låter dig ange timeouts och fånga undantag:

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 det här exemplet ställer vi in ​​en timeout för begäran och fångar upp eventuella undantag som uppstår och skriver ut ett felmeddelande om något går fel.

Slutsats

requests-biblioteket är ett kraftfullt och användarvänligt verktyg för att göra HTTP-förfrågningar i Python. Oavsett om du hämtar data från API:er, skickar formulärinlämningar eller hanterar anpassade rubriker, gör requests-biblioteket det enkelt att utföra dessa uppgifter med bara några rader kod. Genom att behärska grunderna i den här artikeln kommer du att vara väl rustad att interagera med webbtjänster och API:er i dina Python-projekt.