我们说我在Python中编写HTTP请求而我的DNS服务器出现故障。
如果我尝试:
import requests
requests.get('https://api.twilio.com', timeout=3)
并且DNS服务器已关闭,尽管指定了超时值,但这可能需要90秒以上。
此外,阻止调用是socket.getaddrinfo
,并且它看起来不需要超时参数。
有没有办法在DNS查找上设置超时?
答案 0 :(得分:3)
无法将超时传递给getaddrinfo系统调用,因为它不接受超时参数。您可以在一个线程中运行查找,然后在它过期时取消它。
在Unix计算机上,您可以将/etc/resolv.conf
修改为set a timeout for addrinfo lookups。