【发布时间】:2016-03-09 15:42:31
【问题描述】:
我正在使用 urllib 调用 API。当某些事情与预期不符时,API 会向用户抛出错误(例如 HTTP Error 415: Unsupported Media Type)。但除此之外,API 返回一个包含更多信息的 JSON。我想将该 json 传递给异常并在那里解析它,这样我就可以向用户提供有关错误的信息。
这可能吗?如果,它是如何完成的?
额外信息:
错误:HTTPError
--编辑--
根据要求,这里有一些代码(我想在异常中读取响应):
def _sendpost(url, data=None, filetype=None):
try:
global _auth
req = urllib.request.Request(url, data)
req.add_header('User-Agent', _useragent)
req.add_header('Authorization', 'Bearer ' + _auth['access_token'])
if filetype is not None:
req.add_header('Content-Type', filetype)
resp = urllib.request.urlopen(req, data)
data = json.loads(resp.read().decode('utf-8'), object_pairs_hook=OrderedDict)
except urllib.error.HTTPError as e:
print(e)
return data
--编辑 2-- 我不想使用额外的库/模块。因为我不控制目标机器。
【问题讨论】:
-
你能提供一些你一直在玩的代码吗?
-
@Jan 将代码添加到主要问题
标签: python json python-3.x