如何使用Python的请求库在内部设置超时?
是否为请求实际设置过程中所有其他请求使用的套接字上的全局超时设置超时?
换句话说,通过对给定请求使用超时kwarg,我是否会影响进程中后续请求的超时时间?
答案 0 :(得分:2)
不,每个创建的套接字设置的超时时间:
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来确保连接和读取都超时。