我试图理解,当我使用Requests模块发出POST请求时,我到底得到了什么——总是JSON吗?似乎我得到的每个响应都是JSON,但我不确定。你知道吗
其中r
是我的响应对象,当我这样做时:
print r.apparent_encoding
它似乎总是返回ascii
当我尝试type()
:
>>>print type(r)
<class 'requests.models.Response'
从验证器中{d}粘贴到它的输出中,我没有报告任何错误。那么,我应该假设请求在这里为我提供了JSON对象吗?你知道吗
Tags:
否,POST请求的响应文本完全由web服务决定。一个好的restapi总是用JSON来响应,但是你不会总是得到这样的结果。你知道吗
示例
PHP中的一个常见模式是
如您所见,响应文本将是一个呈现模板(HTML)。我不是说它好,只是说它很普通。你知道吗
回应可以是任何东西。如果您已经发布到REST端点,它通常会用JSON响应。如果是这样,
requests
将检测到它,并允许您通过.json()
方法对其进行解码。你知道吗但是你完全有可能发布到一个普通的web URL,实际上是假装成一个浏览器,除非服务器做了一些非常聪明的事情,否则它只会用它提供给浏览器的标准HTML来响应。在这种情况下,执行
response.json()
将引发ValueError。你知道吗相关问题 更多 >
编程相关推荐