3.1 Mô-đun requests
Để làm việc cơ bản với internet trong Python, có thư viện
requests
. Nó cung cấp giao diện thuận tiện cho
việc làm với mạng, cho phép gửi HTTP-request và nhận phản hồi với
chỉ cần nỗ lực tối thiểu.
Thư viện này không đi kèm với Python, vì vậy trước khi sử dụng nó bạn cần cài đặt nó bằng trình quản lý gói.
Mở terminal của bạn và viết:
pip install requests
Sau khi cài đặt thư viện, bạn có thể sử dụng mô-đun requests
trong
các dự án của mình. Ví dụ, như này bạn có thể xác định địa chỉ IP bên ngoài của mình:
import requests
response = requests.get("http://ip.jsontest.com/")
print(response.status_code) # In mã trạng thái phản hồi
print(response.json()) # In JSON-phản hồi
Tại đây, chúng tôi đã gửi yêu cầu đến dịch vụ (trang web) ip.jsontest.com
, nơi trả về một đối tượng JSON với
địa chỉ IP, từ đó yêu cầu đã đến. Việc gọi và nhận phản hồi được thực hiện trên một dòng - rất tiện lợi. Ở những dòng còn lại, chúng tôi chỉ cần in ra phản hồi của máy chủ.
Trong ví dụ trên, chúng tôi đã gọi phương thức get()
, dưới đây tôi sẽ kể về phương thức này và các phương thức khác của đối tượng
requests
.
3.2 Danh sách phương thức
Đối tượng requests
có các phương thức cho mọi trường hợp trong đời, hoặc chính xác hơn là mỗi phương thức cho từng loại HTTP-request.
Phương thức | Mô tả |
---|---|
requests.get()
|
Gửi GET-request để nhận dữ liệu từ server. |
requests.post() |
Gửi POST-request để gửi dữ liệu lên server. |
requests.put() |
Gửi PUT-request để cập nhật dữ liệu trên server. |
requests.delete() |
Gửi DELETE-request để xóa dữ liệu trên server. |
requests.head() |
Gửi HEAD-request để nhận header mà không có phần thân phản hồi. |
requests.options() |
Gửi OPTIONS-request để nhận các phương thức và tham số được hỗ trợ của server. |
requests.patch() |
Gửi PATCH-request để cập nhật một phần dữ liệu trên server. |
requests.request() |
Phương thức chính để gửi tất cả các loại HTTP-request . |
Dưới đây, chúng tôi sẽ xem xét những phương thức cơ bản nhất.
3.3 Gửi GET-request
và POST-request
GET-request
thường chỉ bao gồm URL, hoặc có thể chứa một chuỗi tham số bổ sung.
1. Gửi GET-request
đơn giản
GET-request
được sử dụng để nhận dữ liệu từ server. Tham số bắt buộc là URL mà yêu cầu được gửi đến.
Ví dụ:
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code) # In mã trạng thái phản hồi
print(response.json()) # In JSON-phản hồi
2. Gửi GET-request
với tham số
URL cũng có thể chứa các tham số bổ sung dưới dạng chuỗi key=value&key2=value2&…
Trong trường hợp của chúng ta, các tham số được truyền dưới dạng từ điển và biến params
:
import requests
params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())
3. Gửi POST-request
POST-request
có thể chứa nội dung yêu cầu: văn bản, JSON hoặc thậm chí cả hình ảnh.
Ví dụ:
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())
3.4 Gửi PUT-request
và DELETE-request
1. Gửi PUT-request
PUT-request
được sử dụng để cập nhật dữ liệu trên server.
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())
2. Gửi DELETE-request
DELETE-request
được sử dụng để xóa dữ liệu trên server.
import requests
response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())
Để hiểu rõ hơn về bản chất của GET
, POST
, PUT
và DELETE
request, bạn cần đọc các bài giảng về cơ cấu mạng,
internet, web và HTTP
. Tất cả những điều này đang chờ bạn trong tương lai gần.
GO TO FULL VERSION