[Python cơ bản thường dùng trong công việc] Phần 13 : Restful client
Ngày nay, với sự phong phú của các ứng dụng và nhu cầu kết nối ngày càng lớn thì Restful là một trong những mô hình web service được nhiều công ty sử dụng. Do đó, việc có thể kết nối đến các Restful web service là một kỹ năng cần thiết cho các lập trình viên.
Chương này sẽ giới thiệu về một trong những thư viện nổi tiếng nhất trong Python để làm việc với các Restful web service, đó là requests
.
Website chính thức và các mô tả đầy đủ đều được đề cập tại http://www.python-requests.org/
13.1. Cài đặt
Cài đặt nhanh chóng thông qua pip
như sau:
$ sudo pip install requests
13.2. Request
Hỗ trợ sẵn các phương thức tương ứng cho Http request như GET, POST, PUT, DELETE…
import requests r = requests.get('https://api.github.com/events') r = requests.post("http://httpbin.org/post") r = requests.put("http://httpbin.org/put") r = requests.delete("http://httpbin.org/delete") r = requests.head("http://httpbin.org/get") r = requests.options("http://httpbin.org/get")
13.2.1. GET Query string
Đối với các request GET
, có thể truyền tham số đường dẫn thông qua tham số params
khi gọi phương thức get()
. Ví dụ:
import requests payload = {'key1': 'value1', 'key2': 'value2'} r = requests.get("http://httpbin.org/get", params = payload) print(r.url) (Hiển thị: http://httpbin.org/get?key2=value2&key1= value1)
13.2.2. Request Body
Trong hầu hết trường hợp các request như POST, PUT thương cần truyền dữ liệu khi request, có thể sử dụng tham số data để truyền data lên kèm request. Ví dụ:
import requests payload = {'key1': 'value1', 'key2': 'value2'} r = requests.post("http://httpbin.org/post", data = payload)
Python tuyển dụng nhiều vị trí cần gấp
13.2.3. Upload file
Có thể gởi thêm tham số files để upload file kèm theo request. Ví dụ:
import requests url = 'http://httpbin.org/post' files = {'file': open('report.xls', 'rb')} r = requests.post(url, files=files)
13.3. Response
Sau khi gọi các phương thức tương ứng để request, bạn sẽ có đối tượng thuộc class Response
. Đối tượng này có một số thông tin như sau:
status_code
: HTTP Status server trả vềheaders
: Các thông tin header mà server trả về dưới dạng Dictionary.cookies
: Nếu server có trả về cookie thì có thể sử dụng thuộc tính này để lấy các cookie.text
: Trả về nội dung response
Tham khảo về các tính năng khác của thư viện requests
tại website chính thức: http://docs.python-requests.org
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước
- D Display CSS là gì? Cách khai báo và sử dụng thuộc tính display trong CSS