Python的请求.Get (url, timeout=75)没有等待指定的超时


requests.get("http://172.19.235.178", timeout=75) 

是我的一段代码。

它正在尝试对一个电话url进行get请求,并且应该等待75秒才能返回200OK。

此请求在一台Ubuntu机器上运行良好,但在另一台机器上不会等待75秒。

根据https://2.python-requests.org/en/master/user/advanced/#timeouts上的文档,您可以在请求连接部分设置超时,但您遇到的超时是操作系统相关的套接字超时。

注意,如果你这样做:

requests.get("http://172.19.235.178", timeout=1)

:

ConnectTimeout: HTTPConnectionPool(host='172.19.235.178', port=80):超过url:/的最大重试次数(由ConnectTimeoutError(, '连接172.19.235.178超时。(连接timeout = 1) '))

而当你这样做时

requests.get("http://172.19.235.178", timeout=75)

:

ConnectionError: HTTPConnectionPool(host='172.19.235.178', port=80): Max . error重试次数超过url:/(由NewConnectionError(': Failed to establish a new connection: [Errno .10060]连接尝试失败,因为被连接的一方没有一段时间后适当回应,或建立联系失败,因为连接的主机未能响应',))

虽然你可以改变你的操作系统的行为如下所述:http://willbryant.net/overriding_the_default_linux_kernel_20_second_tcp_socket_connect_timeout

在你的例子中,我会设置一个10的超时,并使用try except语句

迭代它几次

最新更新