Yêu cầu Python: Tất cả những gì bạn cần biết



Blog này sẽ hướng dẫn bạn chi tiết về mô-đun yêu cầu python. Bạn sẽ làm quen với các yêu cầu GET và POST, đối tượng phiên, cookie và tiêu đề.

Python yêu cầu gần 400.000 lượt tải xuống mỗi ngày. Con số này đủ để hiểu về mức độ phổ biến của . Trong những năm gần đây, ngôn ngữ lập trình python đã trở thành ngôn ngữ lập trình mong muốn nhất của nhiều nhà phát triển. Các khái niệm và thư viện như yêu cầu là một trong nhiều lý do để các nhà phát triển chuyển đổi từ các ngôn ngữ lập trình khác sang python. Trong blog này, chúng ta sẽ xem xét các chủ đề sau:

Yêu cầu Python là gì?

Yêu cầu Python được viết bởi Kenneth Reitz và được cấp phép theo apache 2.0. Nó là một thư viện HTTP thân thiện với con người như được đề cập trên trang tài liệu chính thức. Nó rất dễ sử dụng và về cơ bản được sử dụng để thực hiện tất cả các loại yêu cầu HTTP. Sau đây là một số tính năng nâng cao mà các yêu cầu đi kèm:
  1. Tiếp tục tồn tại và kết nối tổng hợp
  2. Tên miền và url quốc tế
  3. Phiên có cookie tồn tại
  4. Xác minh SSL kiểu trình duyệt
  5. Giải mã nội dung tự động
  6. Xác thực cơ bản / thông báo
  7. Cookie khóa / giá trị thanh lịch
  8. Giải nén tự động
  9. Cơ quan phản hồi Unicode
  10. Hỗ trợ proxy HTTPs
  11. Tải lên tệp nhiều phần
  12. Tải xuống trực tuyến
  13. Kết nối hết thời gian
  14. Yêu cầu Chunked
Đây là tất cả các tính năng nâng cao của thư viện yêu cầu python, hãy cố gắng hiểu tại sao chúng tôi sử dụng yêu cầu python ngay từ đầu.

Tại sao sử dụng yêu cầu Python?

Khi nói đến lý do tại sao chúng ta sử dụng yêu cầu python? lý do là khá đơn giản. Trong khi sử dụng yêu cầu python, bạn không phải thêm các truy vấn vào url và dữ liệu bài đăng mã hóa biểu mẫu theo cách thủ công. Nó làm cho công việc của chúng tôi dễ dàng hơn khi thực hiện bất kỳ loại yêu cầu http.Bây giờ chúng ta đã quen với các yêu cầu python và lý do tại sao chúng ta sử dụng chúng trong python, hãy thử hiểu cách chúng ta sẽ cài đặt các yêu cầu trên dự án hoặc hệ thống của mình.

Làm thế nào để cài đặt yêu cầu Python?

Phần cài đặt cũng rất dễ dàng. Nếu bạn đã cài đặt thiết lập pipenv trên hệ thống của mình, bạn chỉ cần chạy lệnh sau trong thiết bị đầu cuối.

Yêu cầu cài đặt $ pip

giá trị mặc định cho char trong java
Thao tác này sẽ cài đặt thư viện yêu cầu trên hệ thống của bạn. Có một cách tiếp cận nữa để cài đặt yêu cầu. Nếu bạn đang sử dụng pycharm, bạn có thể thêm yêu cầu trên trình thông dịch dự án trong cài đặt. Nó phục vụ cùng mục đích như thiết bị đầu cuối trong trường hợp cài đặt thư viện vào dự án của chúng tôi.Bây giờ chúng ta đã hoàn tất quá trình cài đặt, hãy cố gắng hiểu cách chúng ta sẽ thực hiện nhận và đăng yêu cầu trong python.

Làm thế nào để Thực hiện Yêu cầu Nhận & Đăng?

Get request về cơ bản được sử dụng để yêu cầu dữ liệu từ máy chủ. Sau đây là cú pháp để thực hiện một yêu cầu nhận.
nhập yêu cầu res = request.get ('url') #res là đối tượng phản hồi ở đây.
Yêu cầu đăng được sử dụng để gửi dữ liệu cần xử lý đến máy chủ. Sau đây là cú pháp để thực hiện một yêu cầu đăng bài.
nhập yêu cầu payload = {'key1': 'value1'} res = request.post ('url', data = payload)
Bây giờ chúng ta biết cách chúng ta có thể thực hiện các yêu cầu nhận và đăng, hãy xem cách chúng ta có thể chuyển các tham số đến url bằng cách sử dụng yêu cầu nhận.

Truyền các tham số trong một url

Truyền các tham số trong url cũng đơn giản như thực hiện một yêu cầu nhận. Sau đây là một ví dụ để chuyển các tham số cho url.
nhập yêu cầu payload = {'key1': 'value1', 'key2': 'value2'} res = request.get ('url', params = payload) print (res.url) #this sẽ in url với các tham số đã thông qua yêu cầu nhận.

Mã trạng thái

Chúng tôi cũng có thể kiểm tra mã trạng thái, sau đây là mã để kiểm tra mã trạng thái:





nhập yêu cầu res = request.get ('url') print (res.status_code ())
Nếu mã trả về 200, điều đó có nghĩa là không có lỗi và yêu cầu đều tốt. Nếu chúng tôi đưa ra một yêu cầu không hợp lệ, mã sẽ trả về mã như 404 hoặc 505, điều này sẽ gây ra lỗi http.

Nội dung phản hồi

Chúng tôi cũng có thể đọc nội dung phản hồi của máy chủ. Thư viện sẽ tự động giải mã nội dung từ máy chủ.
nhập yêu cầu res = request.get ('url') print (res.content)

Các yêu cầu cũng có bộ giải mã json tích hợp.

nhập yêu cầu res = request.get ('url') print (res.json ()) #this sẽ nhận được phản hồi ở định dạng json

Tải lên tệp nhiều phần

Rất dễ dàng tải lên các tệp nhiều phần bằng các yêu cầu.
import request files = {'file': open ('filename', 'rb')} res = request.post ('url', files = files) print (res.text)
Để gửi nhiều tệp, chúng tôi sẽ chỉ định nhiều tệp trong tham số tệp.

Cookie và tiêu đề

Chúng tôi có thể xem các cookie và tiêu đề phản hồi của máy chủ bằng cách sử dụng đối tượng phản hồi. Sau đây là mã để xem tiêu đề của máy chủ.
nhập yêu cầu res = request.get ('url') print (res.headers)
Chúng tôi cũng có thể chuyển các tiêu đề tùy chỉnh vào url. Chúng ta hãy xem mã.
nhập yêu cầu headers = {'key1': 'value1'} res = request.get ('url', headers = headers) print (res.headers)
Yêu cầu không thay đổi hành vi của nó dựa trên tiêu đề tùy chỉnh. Họ chỉ đơn giản là chuyển qua yêu cầu cuối cùng. bánh quy cũng có thể được xem bằng cách sử dụng đối tượng phản hồi.
nhập yêu cầu # để chuyển cookie của riêng chúng tôi, chúng tôi có thể sử dụng tham số cookie cookies = dict (cookies = 'working') res = request.get ('url', cookies = cookies) print (res.text)

Cookie được trả về trong RequestCookieJar, hoạt động giống như một từ điển nhưng cũng cung cấp giao diện hoàn chỉnh hơn, phù hợp để sử dụng trên nhiều miền hoặc đường dẫn.



java làm thế nào để thoát khỏi chương trình

Đối tượng phiên

Đối tượng phiên cho phép bạn duy trì các tham số nhất định trên các yêu cầu.
  • Duy trì cookie trên tất cả các yêu cầu được thực hiện từ phiên bản
  • Sử dụng tổng hợp kết nối urllib3
  • Tăng hiệu suất đáng kể
  • Một đối tượng phiên có tất cả các phương thức của API yêu cầu chính
Sau đây là mã để duy trì một số cookie trên các yêu cầu.
s = request.session () s.get ('url') res = s.get ('url') print (res.text)

Lỗi và ngoại lệ

Sau đây là các lỗi và ngoại lệ được đưa ra trong một yêu cầu python.
  • Trong trường hợp có sự cố mạng, các yêu cầu sẽ đưa ra một ngoại lệ ConnectionError.
  • Response.raise_for_status () sẽ phát sinh lỗi HTTP khi có mã trạng thái không thành công.
  • Nếu có thời gian chờ, nó sẽ tăng ngoại lệ Thời gian chờ
  • Ngoại lệ TooManyRedirects được đưa ra nếu yêu cầu vượt quá số lượng chuyển hướng tối đa đã định cấu hình.
Trong blog này, chúng tôi đã thảo luận về mô-đun yêu cầu python trong đó chúng tôi có các tính năng nâng cao khác nhau. Chúng tôi đã thảo luận về cài đặt và thực hiện yêu cầu nhận và đăng với nội dung phản hồi và các khái niệm khác trong thư viện yêu cầu trong python. Mô-đun yêu cầu Python là một trong nhiều tính năng bất thường của ngôn ngữ lập trình python . Bạn có thể bắt đầu việc học của mình bằng cách đăng ký và khám phá các khả năng của ngôn ngữ lập trình python. Có bất kỳ câu hỏi? đề cập đến chúng trong phần nhận xét, chúng tôi sẽ liên hệ lại với bạn.