Python:
Gửi một yêu cầu HTTP
Cách thực hiện:
Thư viện requests
bên thứ ba của Python làm việc gọi HTTP trở nên dễ dàng. Dưới đây là cách gửi một yêu cầu GET đơn giản:
import requests
response = requests.get('https://api.example.com/data')
print(response.status_code) # Xuất mã trạng thái của phản hồi
print(response.json()) # Nếu phản hồi mang theo JSON, in nó dưới dạng dict Python
Yêu cầu POST chi tiết hơn với payload JSON và tiêu đề tùy chỉnh:
import requests
import json
url = "https://api.example.com/submit"
data = {'key': 'value'}
headers = {'Content-Type': 'application/json'}
response = requests.post(url, data=json.dumps(data), headers=headers)
print(response.status_code)
print(response.json())
Sâu hơn
Yêu cầu HTTP là cách mạng web hoạt động — chúng đã tồn tại kể từ đầu những năm 90. Các lựa chọn thay thế cho requests
của Python bao gồm thư viện chuẩn urllib
, nhưng nó hơi khó sử dụng hơn.
Hiểu cách gửi yêu cầu HTTP bao gồm biết về các phương thức (GET, POST, PUT, DELETE, v.v.), mã trạng thái (ví dụ, 200 OK, 404 Not Found), tiêu đề, và dữ liệu thân.
Đối với các yêu cầu luồng hoặc không đồng bộ, bạn có thể muốn khám phá phiên bản không đồng bộ của requests
hoặc gói aiohttp
. Bên dưới, những thư viện này sử dụng socket
của Python cho giao tiếp mạng thô.
Lịch sử, requests
được coi là lựa chọn hàng đầu do sự đơn giản và mạnh mẽ của nó, nhưng httpx
, một thư viện tương thích không đồng bộ mới hơn, đang dần trở nên phổ biến.
Xem thêm
- Tài liệu thư viện
requests
: https://requests.readthedocs.io - Giải thích mã trạng thái HTTP: https://developer.mozilla.org/vi/docs/Web/HTTP/Status
- Tài liệu
urllib
của Python: https://docs.python.org/3/library/urllib.html - Thư viện
httpx
cho yêu cầu HTTP không đồng bộ: https://www.python-httpx.org