我正在使用httplib通过https访问api,并且在api关闭时需要构建异常处理。
这是一个示例连接:
connection = httplib.HTTPSConnection('non-existent-api.com', timeout=1)
connection.request('POST', '/request.api', xml, headers={'Content-Type': 'text/xml'})
response = connection.getresponse()
这应该超时,因此我期望引发异常,并且
response.read()
仅返回一个空字符串。我怎么知道是否超时?更好的方法是,从容应对第三方api宕机的最佳方法是什么?
最佳答案
urllib和httplib不公开超时。您必须包括套接字并在那里设置超时:
import socket
socket.settimeout(10) # or whatever timeout you want
关于python - 如何使用httplib(python 2.6)处理超时?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4079983/