Yêu cầu - Xử lý hết thời gian chờ

Thời gian chờ có thể được thêm dễ dàng vào URL bạn đang yêu cầu. Điều đó xảy ra là bạn đang sử dụng URL của bên thứ ba và chờ phản hồi. Luôn luôn là một phương pháp hay để đưa ra thời gian chờ trên URL, vì chúng tôi có thể muốn URL phản hồi trong khoảng thời gian nếu có phản hồi hoặc lỗi. Không làm như vậy, có thể khiến yêu cầu đó phải chờ vô thời hạn.

Chúng tôi có thể cung cấp thời gian chờ cho URL bằng cách sử dụng tham số thời gian chờ và giá trị được chuyển bằng giây như được hiển thị trong ví dụ bên dưới -

Thí dụ

import requests
getdata = 
requests.get('https://jsonplaceholder.typicode.com/users',timeout=0.001)
print(getdata.text)

Đầu ra

raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout:
HTTPSConnectionPool(host='jsonplaceholder.typicode.com', 
port=443): Max retries exceeded with url: /users (Caused 
by Connect
TimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 
0x000000B02AD
E76A0>, 'Connection to jsonplaceholder.typicode.com timed out. (connect 
timeout = 0.001)'))

Thời gian chờ được đưa ra như sau:

getdata = 
requests.get('https://jsonplaceholder.typicode.com/users',timeout=0.001)

Việc thực thi ném ra lỗi thời gian chờ kết nối như được hiển thị trong đầu ra. Thời gian chờ đã cho là 0,001, không thể yêu cầu lấy lại phản hồi và tạo ra lỗi. Bây giờ, chúng tôi sẽ tăng thời gian chờ và kiểm tra.

Thí dụ

import requests
getdata = 
requests.get('https://jsonplaceholder.typicode.com/users',timeout=1.000)
print(getdata.text)

Đầu ra

E:\prequests>python makeRequest.py
[
   {
      "id": 1,
      "name": "Leanne Graham",
      "username": "Bret",
      "email": "[email protected]",
      "address": {
         "street": "Kulas Light",
         "suite": "Apt. 556",
         "city": "Gwenborough",
         "zipcode": "92998-3874",
         "geo": {
            "lat": "-37.3159",
            "lng": "81.1496"
         }
      },
      "phone": "1-770-736-8031 x56442",
      "website": "hildegard.org",
      "company": {
         "name": "Romaguera-Crona",
         "catchPhrase": "Multi-layered client-server neural-net",
         "bs": "harness real-time e-markets"
      }
   }
]

Với thời gian chờ 1 giây, chúng tôi có thể nhận được phản hồi cho URL được yêu cầu.