我正在使用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关闭的问题?
这就是我发现的正确使用httplib2的方法。发布它,因为它可能仍然有助于某人:
urllib和httplib不公开超时。必须包含套接字并在其中设置超时:
什么意思是API坏了,API返回htp404500。。。
或者你的意思是当API无法访问时?
首先,在尝试访问web服务之前,我不认为您可以知道该服务是否已关闭,因此我建议您首先这样做:
为了检查API是否不可访问,我认为您最好尝试一下:
如果你想要更一般的东西,你可以把这两种方法混合起来,希望这会有帮助
相关问题 更多 >
编程相关推荐