【发布时间】:2018-07-11 16:09:28
【问题描述】:
我正在编写一个程序(python Python 3.5.2),它使用 HTTPSConnection 获取 JSON 对象作为响应。我使用一些示例代码让它工作,但不确定方法来自哪里。 我的问题是:在下面的代码中,“21.12.2.HTTPResponse 对象”下的https://docs.python.org/3.4/library/http.client.html#http.client.HTTPResponse 的文档中不存在 decode('utf-9') 方法。我怎么知道“response.read()”方法的返回值有“decode('utf-8')”方法可用?
Python 对象是否像 C# 对象一样从基类继承,还是我遗漏了什么?
http = HTTPSConnection(get_hostname(token))
http.request('GET', uri_path, headers=get_authorization_header(token))
response = http.getresponse()
print(response.status, response.reason)
feed = json.loads(response.read().decode('utf-8'))
感谢您的帮助。
【问题讨论】:
-
HTTPResponse.read()返回一个bytes对象 - 这在文档中不是很清楚,但实际上没有其他可能。.decode()是bytes的一个方法,和HTTPResponse没有联系。 -
source 清楚地表明返回了
bytes对象。