将超时传递给socket.getaddrinfo



假设我正在用Python编写HTTP请求,而我的DNS服务器出现故障。

如果我尝试:

import requests
requests.get('https://api.twilio.com', timeout=3)

并且DNS服务器关闭,这可能需要90秒以上的时间,尽管指定了超时值。

此外,阻塞调用是socket.getaddrinfo,看起来它不需要超时参数。

有没有办法设置DNS查找的超时?

没有办法将超时传递给getaddrinfo系统调用,因为它不接受超时参数。您可以在线程中运行查找,然后在过期时取消查找。

在Unix机器上,您可以修改/etc/resolv.conf来设置addrinfo查找的超时。

相关内容

  • 没有找到相关文章

最新更新