Yêu cầu python url cơ sở

phản ứng. url trả về URL của phản hồi. Nó sẽ hiển thị url chính đã trả lại nội dung, sau tất cả các chuyển hướng, nếu được thực hiện. Các yêu cầu Python thường được sử dụng để tìm nạp nội dung từ một URI tài nguyên cụ thể. Bất cứ khi nào chúng tôi yêu cầu một URI được chỉ định thông qua Python, nó sẽ trả về một đối tượng phản hồi. Bây giờ, đối tượng phản hồi này sẽ được sử dụng để truy cập một số tính năng như nội dung, tiêu đề, v.v. Bài viết này xoay quanh cách kiểm tra phản hồi. url ra khỏi đối tượng phản hồi

Cách sử dụng phản hồi. url bằng các yêu cầu Python?

Để minh họa việc sử dụng phản hồi. url, hãy ping api. github. com. Để chạy tập lệnh này, bạn cần cài đặt Python và các yêu cầu trên PC của mình

điều kiện tiên quyết –
  • Tải xuống và cài đặt Python 3 Phiên bản mới nhất
  • Cách cài đặt request trong Python – Cho windows, linux, mac

Mã ví dụ –




requests.status_code
34

requests.status_code
35
requests.status_code
36

requests.status_code
37

requests.status_code
38

requests.status_code
39
requests.status_code
40
requests.status_code
41
requests.status_code
0
requests.status_code
1

requests.status_code
37

requests.status_code
3

requests.status_code
4
requests.status_code
5

requests.status_code
37

requests.status_code
7

requests.status_code
4
requests.status_code
9

Thực hiện ví dụ –

Lưu tệp trên dưới dạng

requests.status_code
340 và chạy bằng cách sử dụng

________số 8Đầu ra –

Kiểm tra xem https. //api. github. com/, nó hiển thị url trả về phản hồi

Khái niệm nâng cao

Có nhiều thư viện để thực hiện một yêu cầu HTTP trong Python, đó là httplib, urllib, httplib2, treq, v.v. , nhưng yêu cầu là một trong những yêu cầu tốt nhất với các tính năng thú vị. Nếu bất kỳ thuộc tính nào của yêu cầu hiển thị NULL, hãy kiểm tra mã trạng thái bằng thuộc tính bên dưới

requests.status_code

Nếu status_code không nằm trong khoảng 200-29. Bạn có thể cần kiểm tra phương thức bắt đầu được sử dụng để tạo yêu cầu + url bạn đang yêu cầu tài nguyên

❮ Mô-đun Yêu cầu

Ví dụ

Gửi yêu cầu tới một trang web và trả lại mã trạng thái

yêu cầu nhập khẩu

x = yêu cầu. nhận ['https. //w3schools. com']
print[x. status_code]

Chạy ví dụ »

Định nghĩa và cách sử dụng

Phương thức

requests.status_code
45 gửi yêu cầu GET tới url đã chỉ định

cú pháp

yêu cầu. get[url, params={key. giá trị}, đối số]

args có nghĩa là không hoặc nhiều đối số được đặt tên trong bảng tham số bên dưới. Ví dụ

yêu cầu. nhận [url, thời gian chờ = 2. 50]

Giá trị tham số

ParameterDescriptionurlDùng thửBắt buộc. Url của requestparamsDùng thửTùy chọn. Một từ điển, danh sách các bộ dữ liệu hoặc byte để gửi dưới dạng chuỗi truy vấn.
Mặc định
requests.status_code
46allow_redirectsDùng thửTùy chọn. Boolean để bật/tắt chuyển hướng.
Mặc định
requests.status_code
47 [cho phép chuyển hướng]authDùng thửTùy chọn. Một bộ để kích hoạt xác thực HTTP nhất định.
Mặc định
requests.status_code
46certDùng thửTùy chọn. Một Chuỗi hoặc Tuple chỉ định tệp hoặc khóa chứng chỉ.
Mặc định
requests.status_code
46cookieDùng thửTùy chọn. Từ điển cookie để gửi đến url đã chỉ định.
Tiêu đề
requests.status_code
46 mặc định Dùng thửTùy chọn. Một từ điển các tiêu đề HTTP để gửi đến url đã chỉ định.
Proxy
requests.status_code
46 mặc địnhDùng thửTùy chọn. Một từ điển của giao thức cho url proxy.
Mặc định
requests.status_code
46streamDùng thửTùy chọn. Một dấu hiệu Boolean nếu phản hồi nên được tải xuống ngay lập tức [Sai] hoặc phát trực tuyến [Đúng].
Mặc định
requests.status_code
53thời gian chờDùng thửTùy chọn. Một số hoặc một bộ, cho biết cần đợi bao nhiêu giây để máy khách tạo kết nối và/hoặc gửi phản hồi.
Mặc định
requests.status_code
46 có nghĩa là yêu cầu sẽ tiếp tục cho đến khi kết nối bị đóngxác minhDùng thử
Dùng thửTùy chọn. Chỉ báo Boolean hoặc Chuỗi để xác minh chứng chỉ TLS của máy chủ hay không.
Mặc định
requests.status_code
47

Giá trị trả về

Phương thức get[] trả về một yêu cầu. đối tượng phản hồi

❮ Mô-đun Yêu cầu


Thư viện

requests.status_code
06 là tiêu chuẩn thực tế để thực hiện các yêu cầu HTTP trong Python. Nó trừu tượng hóa sự phức tạp của việc đưa ra các yêu cầu đằng sau một API đơn giản, đẹp mắt để bạn có thể tập trung vào việc tương tác với các dịch vụ và sử dụng dữ liệu trong ứng dụng của mình

Xuyên suốt bài viết này, bạn sẽ thấy một số tính năng hữu ích nhất mà

requests.status_code
06 cung cấp cũng như cách tùy chỉnh và tối ưu hóa các tính năng đó cho các tình huống khác nhau mà bạn có thể gặp phải. Bạn cũng sẽ học cách sử dụng
requests.status_code
06 một cách hiệu quả cũng như cách ngăn các yêu cầu dịch vụ bên ngoài làm chậm ứng dụng của bạn

Trong hướng dẫn này, bạn sẽ học cách

  • Thực hiện các yêu cầu bằng các phương thức HTTP phổ biến nhất
  • Tùy chỉnh tiêu đề và dữ liệu của yêu cầu của bạn, sử dụng chuỗi truy vấn và nội dung thư
  • Kiểm tra dữ liệu từ các yêu cầu và phản hồi của bạn
  • Thực hiện yêu cầu xác thực
  • Định cấu hình các yêu cầu của bạn để giúp ngăn ứng dụng của bạn sao lưu hoặc làm chậm

Mặc dù tôi đã cố gắng đưa vào nhiều thông tin mà bạn cần để hiểu các tính năng và ví dụ có trong bài viết này, nhưng tôi cho rằng mình đã có kiến ​​thức chung rất cơ bản về HTTP. Điều đó nói rằng, dù sao thì bạn vẫn có thể làm theo tốt

Bây giờ điều đó đã hết, hãy đi sâu vào và xem cách bạn có thể sử dụng

requests.status_code
06 trong ứng dụng của mình

Lấy bài kiểm tra. Kiểm tra kiến ​​thức của bạn với bài kiểm tra tương tác “Yêu cầu HTTP Với thư viện "yêu cầu". Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian

Lấy bài kiểm tra "

Bắt đầu với
requests.status_code
06

Hãy bắt đầu bằng cách cài đặt thư viện

requests.status_code
06. Để làm như vậy, hãy chạy lệnh sau

requests.status_code
6

Nếu bạn thích sử dụng Pipenv để quản lý các gói Python, bạn có thể chạy như sau

requests.status_code
7

Sau khi cài đặt

requests.status_code
06, bạn có thể sử dụng nó trong ứng dụng của mình. Nhập khẩu
requests.status_code
06 trông như thế này

requests.status_code
0

Bây giờ bạn đã thiết lập xong, đã đến lúc bắt đầu hành trình của mình thông qua

requests.status_code
06. Mục tiêu đầu tiên của bạn sẽ là học cách đưa ra yêu cầu
requests.status_code
25

Loại bỏ các quảng cáo

Yêu cầu NHẬN

Các phương thức HTTP như

requests.status_code
25 và
requests.status_code
27, xác định hành động bạn đang cố thực hiện khi thực hiện yêu cầu HTTP. Bên cạnh
requests.status_code
25 và
requests.status_code
27, có một số phương pháp phổ biến khác mà bạn sẽ sử dụng sau trong hướng dẫn này

Một trong những phương thức HTTP phổ biến nhất là

requests.status_code
25. Phương thức
requests.status_code
25 chỉ ra rằng bạn đang cố lấy hoặc truy xuất dữ liệu từ một tài nguyên được chỉ định. Để thực hiện một yêu cầu
requests.status_code
25, hãy gọi
requests.status_code
03

Để kiểm tra điều này, bạn có thể gửi yêu cầu

requests.status_code
25 tới Root REST API của GitHub bằng cách gọi
requests.status_code
05 bằng URL sau

>>>

requests.status_code
0

Xin chúc mừng. Bạn đã thực hiện yêu cầu đầu tiên của mình. Hãy tìm hiểu sâu hơn một chút về phản hồi của yêu cầu đó

Phản hồi

Một

requests.status_code
06 là một đối tượng mạnh mẽ để kiểm tra kết quả của yêu cầu. Hãy thực hiện lại yêu cầu đó, nhưng lần này lưu trữ giá trị trả về trong một biến để bạn có thể xem xét kỹ hơn các thuộc tính và hành vi của nó

>>>

requests.status_code
2

Trong ví dụ này, bạn đã nắm bắt được giá trị trả về của

requests.status_code
05, là một phiên bản của
requests.status_code
06 và lưu trữ nó trong một biến có tên là
requests.status_code
09. Bây giờ bạn có thể sử dụng
requests.status_code
09 để xem nhiều thông tin về kết quả của yêu cầu
requests.status_code
25 của bạn

Mã trạng thái

Thông tin đầu tiên mà bạn có thể thu thập từ

requests.status_code
06 là 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

Ví dụ: trạng thái

requests.status_code
23 có nghĩa là yêu cầu của bạn đã thành công, trong khi trạng thái
requests.status_code
24 có nghĩa là không tìm thấy tài nguyên bạn đang tìm kiếm. Cũng có nhiều mã trạng thái khả thi khác để cung cấp cho bạn thông tin chi tiết cụ thể về những gì đã xảy ra với yêu cầu của bạn

Bằng cách truy cập vào

requests.status_code
25, bạn có thể xem mã trạng thái mà máy chủ đã trả về

>>>

requests.status_code
0

requests.status_code
25 đã trả về một
requests.status_code
27, có nghĩa là yêu cầu của bạn đã thành công và máy chủ đã phản hồi với dữ liệu mà bạn đang yêu cầu

Đôi khi, bạn có thể muốn sử dụng thông tin này để đưa ra quyết định trong mã của mình

requests.status_code
2

Với logic này, nếu máy chủ trả về mã trạng thái

requests.status_code
27, chương trình của bạn sẽ in
requests.status_code
29. Nếu kết quả là
requests.status_code
10, chương trình của bạn sẽ in ra
requests.status_code
11

requests.status_code
06 tiến thêm một bước trong việc đơn giản hóa quy trình này cho bạn. Nếu bạn sử dụng một thực thể
requests.status_code
06 trong một biểu thức có điều kiện, nó sẽ đánh giá thành
requests.status_code
14 nếu mã trạng thái nằm trong khoảng từ
requests.status_code
27 đến
requests.status_code
16 và
requests.status_code
17 nếu không

Do đó, bạn có thể đơn giản hóa ví dụ vừa rồi bằng cách viết lại câu lệnh

requests.status_code
18

requests.status_code
1

Chi tiết kỹ thuật. Kiểm tra giá trị thực này có thể thực hiện được vì

requests.status_code
19 là một phương thức quá tải trên
requests.status_code
06

Điều này có nghĩa là hành vi mặc định của

requests.status_code
06 đã được xác định lại để tính đến mã trạng thái khi xác định giá trị thực của đối tượng

Hãy nhớ rằng phương pháp này không xác minh rằng mã trạng thái bằng với

requests.status_code
27. Lý do cho điều này là các mã trạng thái khác trong phạm vi
requests.status_code
27 đến
requests.status_code
16, chẳng hạn như
requests.status_code
75 và
requests.status_code
76, cũng được coi là thành công theo nghĩa là chúng cung cấp một số phản hồi khả thi.

Ví dụ:

requests.status_code
77 cho bạn biết rằng phản hồi đã thành công, nhưng không có nội dung nào để trả về trong nội dung thư

Vì vậy, hãy đảm bảo rằng bạn chỉ sử dụng tốc ký thuận tiện này nếu bạn muốn biết liệu yêu cầu có thành công hay không và sau đó, nếu cần, hãy xử lý phản hồi một cách thích hợp dựa trên mã trạng thái

Giả sử bạn không muốn kiểm tra mã trạng thái của phản hồi trong câu lệnh

requests.status_code
18. Thay vào đó, bạn muốn đưa ra một ngoại lệ nếu yêu cầu không thành công. Bạn có thể làm điều này bằng cách sử dụng
requests.status_code
79

requests.status_code
7

Nếu bạn gọi

requests.status_code
79, một
requests.status_code
41 sẽ được nâng lên đối với một số mã trạng thái nhất định. Nếu mã trạng thái cho biết một yêu cầu thành công, chương trình sẽ tiếp tục mà không có ngoại lệ đó được đưa ra

Đọc thêm. Nếu bạn chưa quen với Python 3. 6, tôi khuyến khích bạn tận dụng chúng vì chúng là một cách tuyệt vời để đơn giản hóa các chuỗi được định dạng của bạn

Bây giờ, bạn đã biết rất nhiều về cách xử lý mã trạng thái của phản hồi mà bạn nhận được từ máy chủ. Tuy nhiên, khi bạn thực hiện yêu cầu

requests.status_code
25, hiếm khi bạn chỉ quan tâm đến mã trạng thái của phản hồi. Thông thường, bạn muốn xem thêm. Tiếp theo, bạn sẽ thấy cách xem dữ liệu thực tế mà máy chủ đã gửi lại trong nội dung phản hồi

Loại bỏ các quảng cáo

Nội dung

Phản hồi của yêu cầu

requests.status_code
25 thường có một số thông tin có giá trị, được gọi là tải trọng, trong nội dung thư. Sử dụng các thuộc tính và phương thức của
requests.status_code
06, bạn có thể xem tải trọng ở nhiều định dạng khác nhau

Để xem nội dung của phản hồi trong

requests.status_code
45, bạn sử dụng
requests.status_code
46

>>>

requests.status_code
4

Mặc dù

requests.status_code
46 cung cấp cho bạn quyền truy cập vào các byte thô của tải trọng phản hồi, nhưng bạn sẽ thường muốn chuyển đổi chúng thành một chuỗi bằng mã hóa ký tự, chẳng hạn như UTF-8.
requests.status_code
09 sẽ làm điều đó cho bạn khi bạn truy cập vào
requests.status_code
49

>>>

requests.status_code
70

Vì việc giải mã

requests.status_code
45 thành
requests.status_code
701 yêu cầu một sơ đồ mã hóa, nên
requests.status_code
06 sẽ cố gắng đoán mã hóa dựa trên các tiêu đề của phản hồi nếu bạn không chỉ định một sơ đồ mã hóa. Bạn có thể cung cấp mã hóa rõ ràng bằng cách đặt
requests.status_code
703 trước khi truy cập
requests.status_code
49

>>>

requests.status_code
71

Nếu bạn xem phản hồi, bạn sẽ thấy rằng đó thực sự là nội dung JSON được tuần tự hóa. Để có được một từ điển, bạn có thể lấy

requests.status_code
701 mà bạn đã lấy từ
requests.status_code
49 và giải tuần tự hóa nó bằng cách sử dụng
requests.status_code
707. Tuy nhiên, một cách đơn giản hơn để hoàn thành nhiệm vụ này là sử dụng
requests.status_code
708

>>>

requests.status_code
72

requests.status_code
709 của giá trị trả về của
requests.status_code
708 là một từ điển, vì vậy bạn có thể truy cập các giá trị trong đối tượng bằng khóa

Bạn có thể làm được nhiều việc với mã trạng thái và nội dung thư. Tuy nhiên, nếu bạn cần thêm thông tin, chẳng hạn như siêu dữ liệu về chính phản hồi, bạn sẽ cần xem tiêu đề của phản hồi

tiêu đề

Các tiêu đề phản hồi có thể cung cấp cho bạn thông tin hữu ích, chẳng hạn như loại nội dung của tải trọng phản hồi và giới hạn thời gian về thời gian lưu vào bộ đệm phản hồi. Để xem các tiêu đề này, hãy truy cập

requests.status_code
711

>>>

requests.status_code
73

requests.status_code
711 trả về một đối tượng giống như từ điển, cho phép bạn truy cập các giá trị tiêu đề theo khóa. Ví dụ: để xem loại nội dung của tải trọng phản hồi, bạn có thể truy cập vào
requests.status_code
713

>>>

requests.status_code
74

Tuy nhiên, có điều gì đó đặc biệt về đối tượng tiêu đề giống như từ điển này. Thông số HTTP xác định các tiêu đề không phân biệt chữ hoa chữ thường, có nghĩa là chúng tôi có thể truy cập các tiêu đề này mà không phải lo lắng về cách viết hoa của chúng

>>>

requests.status_code
75

Cho dù bạn sử dụng khóa

requests.status_code
714 hay
requests.status_code
715, bạn sẽ nhận được giá trị như nhau

Bây giờ, bạn đã học những kiến ​​thức cơ bản về

requests.status_code
06. Bạn đã thấy các thuộc tính và phương thức hữu ích nhất của nó đang hoạt động. Hãy lùi lại một bước và xem phản hồi của bạn thay đổi như thế nào khi bạn tùy chỉnh các yêu cầu
requests.status_code
25 của mình

Loại bỏ các quảng cáo

Tham số chuỗi truy vấn

Một cách phổ biến để tùy chỉnh yêu cầu

requests.status_code
25 là chuyển các giá trị thông qua tham số chuỗi truy vấn trong URL. Để thực hiện việc này bằng cách sử dụng
requests.status_code
05, bạn chuyển dữ liệu tới
requests.status_code
720. Ví dụ: bạn có thể sử dụng API tìm kiếm của GitHub để tìm thư viện
requests.status_code
06

requests.status_code
76

Bằng cách chuyển từ điển

requests.status_code
722 đến tham số
requests.status_code
720 của
requests.status_code
724, bạn có thể sửa đổi kết quả trả về từ API tìm kiếm

Bạn có thể chuyển

requests.status_code
720 đến
requests.status_code
05 dưới dạng từ điển, như bạn vừa thực hiện hoặc dưới dạng danh sách các bộ dữ liệu

>>>

requests.status_code
77

Bạn thậm chí có thể chuyển các giá trị dưới dạng

requests.status_code
45

>>>

requests.status_code
78

Chuỗi truy vấn rất hữu ích để tham số hóa yêu cầu

requests.status_code
25. Bạn cũng có thể tùy chỉnh yêu cầu của mình bằng cách thêm hoặc sửa đổi tiêu đề bạn gửi

Tiêu đề yêu cầu

Để tùy chỉnh tiêu đề, bạn chuyển từ điển tiêu đề HTTP tới

requests.status_code
05 bằng cách sử dụng tham số
requests.status_code
730. Ví dụ: bạn có thể thay đổi yêu cầu tìm kiếm trước đó để làm nổi bật các cụm từ tìm kiếm phù hợp trong kết quả bằng cách chỉ định loại phương tiện
requests.status_code
731 trong tiêu đề
requests.status_code
732

requests.status_code
79

Tiêu đề

requests.status_code
732 cho máy chủ biết loại nội dung mà ứng dụng của bạn có thể xử lý. Trong trường hợp này, vì bạn đang mong đợi các cụm từ tìm kiếm phù hợp được đánh dấu, nên bạn đang sử dụng giá trị tiêu đề
requests.status_code
734, đây là tiêu đề GitHub
requests.status_code
732 độc quyền trong đó nội dung là định dạng JSON đặc biệt

Trước khi bạn tìm hiểu thêm các cách tùy chỉnh yêu cầu, hãy mở rộng tầm nhìn bằng cách khám phá các phương thức HTTP khác

Các phương thức HTTP khác

Ngoài

requests.status_code
25, các phương thức HTTP phổ biến khác bao gồm
requests.status_code
27,
requests.status_code
738,
requests.status_code
739,
requests.status_code
740,
requests.status_code
741 và
requests.status_code
742.
requests.status_code
06 cung cấp một phương thức, có chữ ký tương tự như
requests.status_code
05, cho mỗi phương thức HTTP này

>>>

requests.status_code
00

Mỗi lệnh gọi hàm đưa ra yêu cầu đối với dịch vụ

requests.status_code
745 bằng phương thức HTTP tương ứng. Đối với mỗi phương pháp, bạn có thể kiểm tra phản hồi của họ giống như cách bạn đã làm trước đây

>>>

requests.status_code
01

Tiêu đề, nội dung phản hồi, mã trạng thái, v.v. được trả về trong

requests.status_code
06 cho từng phương thức. Tiếp theo, bạn sẽ xem xét kỹ hơn các phương pháp
requests.status_code
27,
requests.status_code
738 và
requests.status_code
741 và tìm hiểu xem chúng khác với các loại yêu cầu khác như thế nào

Loại bỏ các quảng cáo

Nội dung thư

Theo đặc tả HTTP, các yêu cầu

requests.status_code
27,
requests.status_code
738 và ít phổ biến hơn là
requests.status_code
741 truyền dữ liệu của chúng qua nội dung thư thay vì qua các tham số trong chuỗi truy vấn. Sử dụng
requests.status_code
06, bạn sẽ chuyển tải trọng tới tham số
requests.status_code
754 của chức năng tương ứng

requests.status_code
754 lấy một từ điển, một danh sách các bộ dữ liệu, byte hoặc một đối tượng giống như tệp. Bạn sẽ muốn điều chỉnh dữ liệu bạn gửi trong nội dung yêu cầu của mình cho phù hợp với các nhu cầu cụ thể của dịch vụ mà bạn đang tương tác

Ví dụ: nếu loại nội dung yêu cầu của bạn là

requests.status_code
756, bạn có thể gửi dữ liệu biểu mẫu dưới dạng từ điển

>>>

requests.status_code
02

Bạn cũng có thể gửi cùng dữ liệu đó dưới dạng danh sách các bộ dữ liệu

>>>

requests.status_code
03

Tuy nhiên, nếu bạn cần gửi dữ liệu JSON, bạn có thể sử dụng tham số

requests.status_code
757. Khi bạn chuyển dữ liệu JSON qua
requests.status_code
757,
requests.status_code
06 sẽ tuần tự hóa dữ liệu của bạn và thêm tiêu đề
requests.status_code
713 chính xác cho bạn

httpbin. org là một tài nguyên tuyệt vời được tạo bởi tác giả của

requests.status_code
06, Kenneth Reitz. Đó là một dịch vụ chấp nhận các yêu cầu kiểm tra và phản hồi dữ liệu về các yêu cầu đó. Chẳng hạn, bạn có thể sử dụng nó để kiểm tra một yêu cầu cơ bản của
requests.status_code
27

>>>

requests.status_code
04

Bạn có thể thấy từ phản hồi rằng máy chủ đã nhận được dữ liệu và tiêu đề yêu cầu của bạn khi bạn gửi chúng.

requests.status_code
06 cũng cung cấp thông tin này cho bạn dưới dạng một
requests.status_code
764

Kiểm tra yêu cầu của bạn

Khi bạn thực hiện một yêu cầu, thư viện

requests.status_code
06 sẽ chuẩn bị yêu cầu trước khi thực sự gửi nó đến máy chủ đích. Chuẩn bị yêu cầu bao gồm những việc như xác thực tiêu đề và tuần tự hóa nội dung JSON

Bạn có thể xem

requests.status_code
764 bằng cách truy cập vào
requests.status_code
767

>>>

requests.status_code
05

Kiểm tra

requests.status_code
764 cung cấp cho bạn quyền truy cập vào tất cả các loại thông tin về yêu cầu được thực hiện, chẳng hạn như tải trọng, URL, tiêu đề, xác thực, v.v.

Cho đến nay, bạn đã thực hiện rất nhiều loại yêu cầu khác nhau, nhưng chúng đều có một điểm chung. chúng là những yêu cầu chưa được xác thực đối với các API công khai. Nhiều dịch vụ bạn có thể gặp sẽ muốn bạn xác thực theo một cách nào đó

xác thực

Xác thực giúp một dịch vụ hiểu bạn là ai. Thông thường, bạn cung cấp thông tin đăng nhập của mình cho máy chủ bằng cách chuyển dữ liệu qua tiêu đề

requests.status_code
769 hoặc tiêu đề tùy chỉnh do dịch vụ xác định. Tất cả các chức năng yêu cầu mà bạn đã thấy cho đến thời điểm này đều cung cấp một tham số có tên là
requests.status_code
770, cho phép bạn chuyển thông tin đăng nhập của mình

Một ví dụ về API yêu cầu xác thực là API người dùng được xác thực của GitHub. Điểm cuối này cung cấp thông tin về hồ sơ của người dùng được xác thực. Để yêu cầu API người dùng được xác thực, bạn có thể chuyển tên người dùng và mật khẩu GitHub của mình trong một bộ dữ liệu tới

requests.status_code
05

>>>

requests.status_code
06

Yêu cầu đã thành công nếu thông tin đăng nhập bạn đã chuyển trong bộ dữ liệu tới

requests.status_code
770 là hợp lệ. Nếu cố gắng thực hiện yêu cầu này mà không có thông tin xác thực, bạn sẽ thấy mã trạng thái là
requests.status_code
773

>>>

requests.status_code
07

Khi bạn chuyển tên người dùng và mật khẩu của mình trong một bộ tuple cho tham số

requests.status_code
770,
requests.status_code
06 đang áp dụng thông tin đăng nhập bằng cách sử dụng lược đồ xác thực truy cập Cơ bản của HTTP dưới vỏ bọc

Do đó, bạn có thể đưa ra yêu cầu tương tự bằng cách chuyển thông tin xác thực Cơ bản rõ ràng bằng cách sử dụng

requests.status_code
776

>>>

requests.status_code
08

Mặc dù bạn không cần phải rõ ràng đối với xác thực Cơ bản, nhưng bạn có thể muốn xác thực bằng phương thức khác.

requests.status_code
06 cung cấp các phương pháp xác thực khác ngoài hộp, chẳng hạn như
requests.status_code
778 và
requests.status_code
779

Bạn thậm chí có thể cung cấp cơ chế xác thực của riêng mình. Để làm như vậy, trước tiên bạn phải tạo một lớp con của

requests.status_code
780. Sau đó, bạn triển khai
requests.status_code
781

requests.status_code
09

Tại đây, cơ chế

requests.status_code
782 tùy chỉnh của bạn nhận mã thông báo, sau đó bao gồm mã thông báo đó trong tiêu đề
requests.status_code
783 của yêu cầu của bạn

Cơ chế xác thực không hợp lệ có thể dẫn đến các lỗ hổng bảo mật, vì vậy, trừ khi một dịch vụ yêu cầu cơ chế xác thực tùy chỉnh vì lý do nào đó, bạn sẽ luôn muốn sử dụng sơ đồ xác thực đã thử và đúng như Basic hoặc OAuth

Trong khi bạn đang nghĩ về bảo mật, hãy xem xét xử lý Chứng chỉ SSL bằng cách sử dụng

requests.status_code
06

Loại bỏ các quảng cáo

Xác minh chứng chỉ SSL

Bất cứ khi nào dữ liệu bạn đang cố gắng gửi hoặc nhận là dữ liệu nhạy cảm, thì việc bảo mật là rất quan trọng. Cách bạn giao tiếp với các trang web bảo mật qua HTTP là thiết lập kết nối được mã hóa bằng SSL, điều đó có nghĩa là việc xác minh Chứng chỉ SSL của máy chủ mục tiêu là rất quan trọng

Tin tốt là

requests.status_code
06 làm việc này cho bạn theo mặc định. Tuy nhiên, có một số trường hợp bạn có thể muốn thay đổi hành vi này

Nếu bạn muốn tắt xác minh Chứng chỉ SSL, bạn chuyển

requests.status_code
17 cho tham số
requests.status_code
787 của hàm yêu cầu

>>>

requests.status_code
00

requests.status_code
06 thậm chí còn cảnh báo bạn khi bạn đưa ra yêu cầu không an toàn để giúp bạn giữ an toàn cho dữ liệu của mình

Ghi chú.

requests.status_code
06 sử dụng gói có tên
requests.status_code
790 để cung cấp cho Tổ chức phát hành chứng chỉ. Điều này cho phép
requests.status_code
06 biết chính quyền nào mà nó có thể tin tưởng. Do đó, bạn nên cập nhật
requests.status_code
790 thường xuyên để giữ kết nối của mình an toàn nhất có thể

Hiệu suất

Khi sử dụng

requests.status_code
06, đặc biệt là trong môi trường ứng dụng sản xuất, điều quan trọng là phải xem xét các tác động về hiệu suất. Các tính năng như kiểm soát thời gian chờ, phiên và giới hạn thử lại có thể giúp bạn giữ cho ứng dụng của mình chạy trơn tru

Hết giờ

Khi bạn đưa ra yêu cầu nội tuyến cho một dịch vụ bên ngoài, hệ thống của bạn sẽ cần đợi phản hồi trước khi tiếp tục. Nếu ứng dụng của bạn đợi phản hồi đó quá lâu, các yêu cầu đối với dịch vụ của bạn có thể bị sao lưu, trải nghiệm người dùng của bạn có thể bị ảnh hưởng hoặc các công việc nền của bạn có thể bị treo

Theo mặc định,

requests.status_code
06 sẽ đợi phản hồi vô thời hạn, vì vậy bạn hầu như luôn phải chỉ định khoảng thời gian chờ để ngăn những điều này xảy ra. Để đặt thời gian chờ của yêu cầu, hãy sử dụng tham số
requests.status_code
795.
requests.status_code
795 có thể là số nguyên hoặc số float biểu thị số giây chờ phản hồi trước khi hết thời gian

>>>

requests.status_code
01

Trong yêu cầu đầu tiên, yêu cầu sẽ hết thời gian chờ sau 1 giây. Trong yêu cầu thứ hai, yêu cầu sẽ hết thời gian chờ sau 3. 05 giây

Bạn cũng có thể chuyển một bộ tới

requests.status_code
795 với phần tử đầu tiên là thời gian chờ kết nối [thời gian cho phép máy khách thiết lập kết nối với máy chủ] và phần tử thứ hai là thời gian chờ đọc [thời gian nó sẽ đợi phản hồi một lần

>>>

requests.status_code
02

Nếu yêu cầu thiết lập kết nối trong vòng 2 giây và nhận dữ liệu trong vòng 5 giây kể từ khi kết nối được thiết lập, thì phản hồi sẽ được trả về như trước đây. Nếu yêu cầu hết thời gian, thì chức năng sẽ đưa ra một ngoại lệ

requests.status_code
798

requests.status_code
03

Chương trình của bạn có thể bắt ngoại lệ

requests.status_code
798 và phản hồi tương ứng

Đối tượng phiên

Cho đến bây giờ, bạn đã xử lý các API

requests.status_code
06 cấp cao như
requests.status_code
05 và
requests.status_code
002. Các chức năng này là sự trừu tượng hóa những gì đang diễn ra khi bạn đưa ra yêu cầu của mình. Chúng ẩn các chi tiết triển khai, chẳng hạn như cách quản lý các kết nối để bạn không phải lo lắng về chúng

Bên dưới những trừu tượng đó là một lớp có tên là

requests.status_code
003. Nếu bạn cần tinh chỉnh quyền kiểm soát của mình đối với cách thực hiện yêu cầu hoặc cải thiện hiệu suất của yêu cầu, bạn có thể cần sử dụng trực tiếp phiên bản
requests.status_code
003

Các phiên được sử dụng để duy trì các tham số trong các yêu cầu. Ví dụ: nếu bạn muốn sử dụng cùng một xác thực cho nhiều yêu cầu, bạn có thể sử dụng một phiên

requests.status_code
04

Mỗi khi bạn thực hiện một yêu cầu với

requests.status_code
005, khi nó đã được khởi tạo bằng thông tin đăng nhập xác thực, thông tin đăng nhập sẽ được duy trì

Tối ưu hóa hiệu suất chính của các phiên có dạng kết nối liên tục. Khi ứng dụng của bạn tạo kết nối với máy chủ bằng cách sử dụng

requests.status_code
003, ứng dụng sẽ giữ kết nối đó trong nhóm kết nối. Khi ứng dụng của bạn muốn kết nối lại với cùng một máy chủ, ứng dụng sẽ sử dụng lại kết nối từ nhóm thay vì thiết lập kết nối mới

Loại bỏ các quảng cáo

Số lần thử lại tối đa

Khi một yêu cầu không thành công, bạn có thể muốn ứng dụng của mình thử lại cùng một yêu cầu. Tuy nhiên, theo mặc định,

requests.status_code
06 sẽ không làm điều này cho bạn. Để áp dụng chức năng này, bạn cần triển khai Bộ điều hợp truyền tải tùy chỉnh

Transport Adapters cho phép bạn xác định một tập hợp các cấu hình cho mỗi dịch vụ mà bạn đang tương tác. Ví dụ: giả sử bạn muốn tất cả các yêu cầu tới

requests.status_code
008 thử lại ba lần trước khi cuối cùng tăng một
requests.status_code
009. Bạn sẽ xây dựng Bộ điều hợp truyền tải, đặt tham số
requests.status_code
010 của nó và gắn nó vào một
requests.status_code
003 hiện có

requests.status_code
05

Khi bạn gắn kết

requests.status_code
012,
requests.status_code
013, với
requests.status_code
005, thì
requests.status_code
005 sẽ tuân theo cấu hình của nó cho từng yêu cầu tới https. //api. github. com

Thời gian chờ, Bộ điều hợp truyền tải và phiên là để giữ cho mã của bạn hiệu quả và ứng dụng của bạn linh hoạt

Phần kết luận

Bạn đã đi một chặng đường dài để tìm hiểu về thư viện

requests.status_code
06 mạnh mẽ của Python

Bây giờ bạn có thể

  • Thực hiện các yêu cầu bằng nhiều phương thức HTTP khác nhau, chẳng hạn như
    requests.status_code
    25,
    requests.status_code
    27 và
    requests.status_code
    738
  • Tùy chỉnh yêu cầu của bạn bằng cách sửa đổi tiêu đề, xác thực, chuỗi truy vấn và nội dung thư
  • Kiểm tra dữ liệu bạn gửi đến máy chủ và dữ liệu máy chủ gửi lại cho bạn
  • Làm việc với xác minh Chứng chỉ SSL
  • Sử dụng
    requests.status_code
    06 một cách hiệu quả bằng cách sử dụng
    requests.status_code
    010,
    requests.status_code
    795, Phiên và Bộ điều hợp truyền tải

Vì bạn đã học cách sử dụng

requests.status_code
06, nên bạn được trang bị để khám phá thế giới dịch vụ web rộng lớn và xây dựng các ứng dụng tuyệt vời bằng cách sử dụng dữ liệu hấp dẫn mà chúng cung cấp

Lấy bài kiểm tra. Kiểm tra kiến ​​thức của bạn với bài kiểm tra tương tác “Yêu cầu HTTP Với thư viện "yêu cầu". Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian

Lấy bài kiểm tra "

Đánh dấu là đã hoàn thành

Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Thực hiện các yêu cầu HTTP bằng Python

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Alex Ronquillo

Alex Ronquillo là Kỹ sư phần mềm tại thelab. Anh ấy là một Pythonista cuồng nhiệt, cũng đam mê viết lách và phát triển trò chơi

» Thông tin thêm về Alex

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Brad

Joanna

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Làm cách nào để lấy URL từ yêu cầu trong Python?

r = yêu cầu. get[url = URL, params = PARAMS] Ở đây chúng tôi tạo một đối tượng phản hồi 'r' sẽ lưu trữ phản hồi yêu cầu. Chúng tôi sử dụng yêu cầu. .
dữ liệu = r. json[] Bây giờ, để lấy dữ liệu từ đối tượng phản hồi, chúng ta cần chuyển đổi nội dung phản hồi thô thành cấu trúc dữ liệu kiểu JSON

URL cơ sở trong Python là gì?

Để lấy cơ sở của một URL. Chuyển url cho phương thức urlparse từ urllib. mô-đun phân tích cú pháp . Truy cập thuộc tính netloc trên kết quả phân tích cú pháp.

Làm cách nào để định dạng URL trong Python?

Trong Python 3+, Bạn có thể mã hóa URL bất kỳ chuỗi nào bằng cách sử dụng hàm quote[] do urllib cung cấp. phân tích cú pháp gói . Hàm quote[] theo mặc định sử dụng lược đồ mã hóa UTF-8.

Chúng ta có thể gửi một phần thân trong Python yêu cầu GET không?

Có thể chuyển các tiêu đề HTTP bổ sung tới các yêu cầu. phương thức get[] với tham số headers=. Bạn không thể gửi dữ liệu trong nội dung của thông báo HTTP GET nhưng vẫn có thể gửi một số thông tin đến máy chủ bằng các tham số URL.

Chủ Đề