Phương thức requests để gửi dữ liệu
Bài học 6 trên 10 trong khóa học API trong Python của Coddy.
Cũng như khi lấy dữ liệu bằng các yêu cầu GET, bạn có thể gửi dữ liệu đến máy chủ API bằng phương thức .post().
Phương thức post() cần một URL và thường nhận tiêu đề cùng dữ liệu làm đối số. Nguyên tắc là dữ liệu của bạn sẽ được gửi đến điểm cuối API, rồi máy chủ sẽ xử lý dữ liệu đó.
Cấu trúc code post() như sau:
import requests
response = requests.post(
"https://api.example.com/endpoint",
headers={
"Content-Type": "application/json"
},
json={
"key1": "value1",
"key2": "value2"
}
)Tiêu đề và dữ liệu được truyền dưới dạng từ điển gồm các cặp khóa-giá trị.
Lưu ý:
- Tiêu đề thường chứa siêu dữ liệu về yêu cầu của bạn, chẳng hạn như kiểu nội dung
- Tham số
jsontự động chuyển từ điển Python của bạn sang định dạng JSON - Một số API yêu cầu xác thực bằng khóa API trong tiêu đề
Thử thách
Trung bìnhGửi yêu cầu POST để tạo người dùng mới bằng API JSONPlaceholder.
Hướng dẫn:
Gửi yêu cầu POST đến: https://jsonplaceholder.typicode.com/users
Thêm tiêu đề sau:
{"Content-Type": "application/json"}Gửi dữ liệu sau bằng tham số json:
{
"name": "James Shelby",
"email": "jamesshelbys1987@example.com",
"username": "jshelby1987"
}Lưu đối tượng requests.post() vào một biến có tên response
In ra cả response.status_code và response.json() để xem kết quả
Đầu ra dự kiến: Bạn sẽ nhận được mã trạng thái 201 (Created) và thấy dữ liệu người dùng của mình được trả về cùng với một ID đã cấp!
Tự làm thử
import requests
response = requests.post(
# Your code here
)
print("Status Code:", response.status_code)
print("Response:", response.json())Tất cả bài học trong API trong Python
2API trong Python
Thư viện requests cho APIPhương thức requests để truy xuấtPhương thức requests để gửi dữ liệuXử lý phản hồi của requests3Chương trình lấy dữ liệu thời tiết qua API
Kết nối API với máy chủGửi yêu cầu GET đến máy chủHiển thị kết quả phù hợpTự luyện tập: Trình biên dịch Python online