我正在使用 Harvest API (http://www.getharvest.com/api)。当客户端超过其配额时,将返回 503 响应。在该响应中应该有一个名为“Retry-After”的 header ,告诉我在重试之前要等待多长时间。
调用失败时如何访问响应头?我正在获取 HTTPError 异常,但无法弄清楚如何从中获取 header 。
我可以使用 exception.read() 获取响应主体,但那只是没有标题的主体。
一些相关代码:
try:
request = urllib2.Request( url=self.uri+url, headers=self.headers )
r = urllib2.urlopen(request)
xml = r.read()
return parseString( xml )
except urllib2.HTTPError as err:
logger.debug("EXCEPTION: %s" % err.read() )
请您参考如下方法:
试试这个:
logger.debug(err.headers)
这是一个字典,因此使用 err.headers['Retry-After']
