1
如何使用Python的請求庫在內部設置超時設置?Python請求超時kwargs是否會影響同一進程中的其他請求超時?
是否設置了一個請求超時,實際上在該進程中的所有其他請求使用的套接字上設置全局超時?
換句話說,通過對給定請求使用超時kwarg,我是否影響過程中後續請求的超時?
如何使用Python的請求庫在內部設置超時設置?Python請求超時kwargs是否會影響同一進程中的其他請求超時?
是否設置了一個請求超時,實際上在該進程中的所有其他請求使用的套接字上設置全局超時?
換句話說,通過對給定請求使用超時kwarg,我是否影響過程中後續請求的超時?
否,超時被設置每創建的套接字:
sock = socket.create_connection(
address=(self.host, self.port),
timeout=self.timeout,
)
這是全部由urllib3
處理,通過使用requests
較低級別的文庫;看到自己的API documentation:
超時 - 以秒套接字超時爲每個單獨的連接。這可以是一個浮點數或整數,它設置HTTP請求的超時時間,或者是一個
urllib3.util.Timeout
的實例,它可以讓您更細緻地控制請求超時。在構造函數被解析後,這總是一個urllib3.util.Timeout對象。
requests
使用util.Timeout
class來確保連接和讀取都受超時限制。