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.