Cum să utilizați biblioteca de solicitări Python pentru HTTP
Biblioteca requests
este un modul popular Python care simplifică procesul de a face cereri HTTP. Acesta elimina complexitatea gestionării cererilor și răspunsurilor, facilitând interacțiunea cu serviciile web și API-urile. În acest articol, vom explora elementele de bază ale utilizării bibliotecii requests
, inclusiv cum să trimitem diferite tipuri de solicitări HTTP și să gestionăm răspunsurile.
Instalarea bibliotecii de solicitări
Înainte de a putea folosi biblioteca requests
, va trebui să o instalați. Îl puteți instala folosind pip
, managerul de pachete Python. Rulați următoarea comandă în terminalul dvs.:
pip install requests
Efectuarea unei cereri GET simplă
Cea mai simplă solicitare HTTP este o solicitare GET, care preia date de pe un server. Iată cum puteți utiliza biblioteca requests
pentru a face o solicitare GET:
import requests
response = requests.get('https://api.github.com')
print(response.status_code)
print(response.json())
În acest exemplu, trimitem o solicitare GET către API-ul GitHub și imprimăm codul de stare HTTP și conținutul răspunsului în format JSON.
Trimiterea solicitărilor POST
Solicitările POST sunt folosite pentru a trimite date către un server, cum ar fi trimiterile de formulare. Iată cum să trimiteți o solicitare POST cu biblioteca requests
:
import requests
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://httpbin.org/post', data=data)
print(response.status_code)
print(response.json())
În acest exemplu, trimitem o solicitare POST cu anumite date din formular către serviciul de testare httpbin.org și imprimăm codul de stare a răspunsului și conținutul.
Gestionarea parametrilor de interogare
Uneori trebuie să includeți parametri de interogare în cererile dvs. Biblioteca requests
face acest lucru ușor, permițându-vă să transmiteți parametrii ca dicționar:
import requests
params = {'search': 'python', 'page': 1}
response = requests.get('https://httpbin.org/get', params=params)
print(response.status_code)
print(response.url)
În acest exemplu, includem parametrii de interogare într-o solicitare GET și imprimăm URL-ul final cu parametrii incluși.
Lucrul cu anteturi
Este posibil să fie necesar să includeți antete personalizate în solicitările dvs., cum ar fi pentru autentificare sau pentru a specifica tipurile de conținut. Iată cum puteți adăuga anteturi la solicitările dvs.:
import requests
headers = {'Authorization': 'Bearer YOUR_TOKEN'}
response = requests.get('https://api.github.com/user', headers=headers)
print(response.status_code)
print(response.json())
În acest exemplu, includem un antet de autorizare în cererea către API-ul GitHub și imprimăm codul de stare și conținutul răspunsului.
Gestionarea timeout-urilor și excepțiilor
Este important să tratați problemele potențiale, cum ar fi expirarea rețelei și alte excepții. Biblioteca requests
vă permite să specificați timeout-uri și să capturați excepții:
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}')
În acest exemplu, setăm un timeout pentru cerere și observăm orice excepții care apar, imprimând un mesaj de eroare dacă ceva nu merge bine.
Concluzie
Biblioteca requests
este un instrument puternic și ușor de utilizat pentru a face cereri HTTP în Python. Indiferent dacă preluați date de la API-uri, trimiteți trimiteri de formulare sau gestionați anteturi personalizate, biblioteca requests
facilitează efectuarea acestor sarcini cu doar câteva linii de cod. Stăpânind elementele de bază abordate în acest articol, veți fi bine echipat pentru a interacționa cu serviciile web și API-urile în proiectele dvs. Python.