Thư viện Python
import requests
0 rất khó sử dụng, đặc biệt khi bạn đang thu thập thông tin trên web. Ví dụ: khi xử lý xác minh trang web và cookie, bạn cần viết Opener và Handler để xử lý. Để thực hiện các thao tác này thuận tiện hơn, có một thư viện import requests
1 mạnh mẽ hơn Blog này là tất cả về bài đăng yêu cầu python và nơi chúng ta sẽ thảo luận về hai phương thức yêu cầu HTTP phổ biến trong python, đó là GET và POST. Đối với hướng dẫn này, chúng tôi sẽ sử dụng thư viện yêu cầu python và để kiểm tra API, chúng tôi sẽ sử dụng httpbin. tổ chức. Vậy hãy bắt đầu
Thư viện yêu cầu python là gì?
Yêu cầu là một thư viện HTTP đơn giản cho python cho phép bạn gửi các yêu cầu HTTP một cách dễ dàng. chúng tôi không cần thêm chuỗi truy vấn theo cách thủ công vào URL của bạn hoặc mã hóa biểu mẫu dữ liệu POST của bạn
Cú pháp chung cho phương thức yêu cầu là
requests.methodname[params]
Và yêu cầu sau
tên phương thức có sẵn để sử dụng. methodnameDescriptionGETGửi yêu cầu GETPOSTSgửi yêu cầu POST REQUESTSgửi REQUESTHEADSends HEAD requestPUTSgửi yêu cầu PUT DELETEsend DELETE requestPATCHSend aPATCH requestCài đặt thư viện yêu cầu python
Việc cài đặt thư viện yêu cầu Python tương đối đơn giản. Sử dụng lệnh pip, chúng ta có thể dễ dàng cài đặt python
pip install requests
Hãy xác minh xem mô-đun yêu cầu có được cài đặt thành công hay không bằng cách kết nối với ipython
import requests
Nếu bạn có thể nhập mô-đun yêu cầu mà không có bất kỳ lỗi nào, điều đó có nghĩa là mô-đun yêu cầu đã được cài đặt thành công
Hãy tiếp tục và hiểu một số phương thức yêu cầu quan trọng
Yêu cầu Python nhận được
Nhận yêu cầu là phương pháp được sử dụng phổ biến nhất để lấy dữ liệu được yêu cầu từ điểm cuối API
Cú pháp cho yêu cầu nhận là
get[url, params=None, **kwargs]
Sends a GET request.
:param url: URL for the new :class:`Request` object.
:param params: [optional] Dictionary, list of tuples or bytes to send
in the query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response ` object
:rtype: requests.Response
nó lấy URL làm đầu vào và các tham số tùy chọn khác
yêu cầu python NHẬN ví dụ
Trong phần này, chúng tôi sẽ sử dụng phương thức get để nhận phản hồi từ httpd mã nguồn mở. bin điểm cuối API
Hãy truy cập httpd. bin và xem điểm cuối API của phương thức get
Nhập lệnh bên dưới để nhận phản hồi từ điểm cuối API ở trênimport requests
url = "//httpbin.org/get"
r = requests.get[url]
yêu cầu python nhận Mã trạng thái
Mã trạng thái thông báo cho bạn về trạng thái của yêu cầu. Nói chung, mã trạng thái 200 có nghĩa là yêu cầu thành công
Nhập lệnh dưới đây để nhận trạng thái của yêu cầu trên
r.status_code
Nếu bạn nhận được 200 dưới dạng mã phản hồi, điều đó có nghĩa là thành công
yêu cầu python nhận NỘI DUNG
Cung cấp nội dung của phản hồi theo byte
response.content Out[28]: b'{\n "args": {}, \n "headers": {\n "Accept": "*/*", \n "Accept-Encoding": "gzip, deflate", \n "Host": "httpbin.org", \n "User-Agent": "python-requests/2.26.0", \n "X-Amzn-Trace-Id": "Root=1-60fc3591-082c48cf2f532be634be1f7c"\n }, \n "origin": "103.58.42.116", \n "url": "//httpbin.org/get"\n}\n'
yêu cầu python nhận văn bản
phản ứng. văn bản hiển thị nội dung của phản hồi bằng Unicode
response.text Out[30]: '{\n "args": {}, \n "headers": {\n "Accept": "*/*", \n "Accept-Encoding": "gzip, deflate", \n "Host": "httpbin.org", \n "User-Agent": "python-requests/2.26.0", \n "X-Amzn-Trace-Id": "Root=1-60fc3591-082c48cf2f532be634be1f7c"\n }, \n "origin": "103.58.42.116", \n "url": "//httpbin.org/get"\n}\n'
yêu cầu python nhận JSON
Phản hồi JSON trả về nội dung được mã hóa json của phản hồi
Định dạng của phản hồi json tuân theo mẫu bên dưới
________số 8Nhập lệnh dưới đây để nhận phản hồi json
response.json[]
yêu cầu python lấy Tiêu đề yêu cầu
Tiêu đề phản hồi cung cấp thông tin như ngày, máy chủ, vị trí và loại nội dung, v.v.
Nhập lệnh dưới đây để nhận tiêu đề phản hồi
pip install requests
0pip install requests
1Bài đăng yêu cầu Python
Lệnh gửi yêu cầu Python được sử dụng để gửi dữ liệu được xử lý đến máy chủ
Cú pháp của yêu cầu đăng làpip install requests
2nó lấy URL làm đầu vào cùng với các tham số tùy chọn khácpython yêu cầu POST ví dụ
Trong phần này, chúng tôi sẽ sử dụng phương thức đăng để gửi phản hồi cho httpd. bin điểm cuối APIHãy truy cập httpd. bin và xem điểm cuối API phương thức đặt
Nhập lệnh bên dưới để đăng yêu cầupip install requests
3python yêu cầu đăng Mã trạng thái
Nhập lệnh dưới đây để lấy mã trạng thái của yêu cầu đăng
pip install requests
4Mã trạng thái 200 có nghĩa là yêu cầu đã thành công.
python bài yêu cầu JSON
Trả về nội dung được mã hóa json của phản hồi
response.json[]
Proxy yêu cầu Python
Phiên này sẽ giải thích cách định cấu hình proxy trong yêu cầu python. Để kiểm tra yêu cầu bằng proxy, chúng tôi cần một proxy đang hoạt động và một URL để gửi yêu cầu
Nhập lệnh bên dưới để gửi yêu cầu proxy python
pip install requests
6Python yêu cầu ủy quyền
Cho đến bây giờ, chúng ta đã biết cách truy cập điểm cuối API mà không yêu cầu bất kỳ xác thực nào. Tuy nhiên, nhiều API REST yêu cầu bạn xác thực trước khi truy cập chúng
Yêu cầu Python tìm nạp API bằng tên người dùng và mật khẩu
Trong phần này, chúng ta sẽ hiểu cách sử dụng yêu cầu python để tìm nạp URL, yêu cầu tên người dùng và mật khẩu để xác thực
Để làm việc với xác thực tên người dùng và mật khẩu, chúng tôi cần xuất mô-đun HTTPBasicAuth
Chúng tôi sẽ sử dụng điểm cuối API bên dưới để tìm nạp dữ liệu
Nhập lệnh dưới đây để tìm phản hồi với tên người dùng và mật khẩu
pip install requests
7Python yêu cầu tìm nạp API qua Kerberos
Đôi khi, chúng tôi cần tìm nạp yêu cầu từ một URL được xác thực bởi Kerberos
Để tìm nạp dữ liệu như vậy, chúng ta cần nhập
Thư viện HTTPKerberosAuth. Chúng tôi phải đảm bảo rằng bạn có sẵn vé krb cần thiếtNếu bạn có tệp keytab. bạn cần gõ lệnh dưới đây
pip install requests
8Bây giờ, hãy nhập lệnh bên dưới để tìm nạp phản hồi bằng mã thông báo Kerberospip install requests
9Bạn có thể tìm thêm thông tin về yêu cầu của Kerberos tại đây
Sự kết luận
Tôi hy vọng bạn thích hướng dẫn này. Chúng tôi đã bắt đầu với những điều cơ bản của mô-đun yêu cầu python và chúng tôi đã thấy cách làm việc với các yêu cầu GET và POST. Vui lòng cho tôi biết trong hộp bình luận nếu bạn gặp phải bất kỳ vấn đề nào khi làm theo hướng dẫn này