Python请求模块和JSON响应
作者:互联网
我使用的很棒
Requests module测试我为我们的一个内部项目创建的API.
我相信我已经发现了Requests模块本身的缺陷,或者我使用它的缺陷.
由于我们的数据不是超敏感的,因此我们的API使用简单的基本HTTP身份验证来控制访问.当我发出API URL请求时,使用JSON作为数据格式,使用urllib2和HTTPBasicAuthHandler或PHP和cURL,我将数据恢复为格式正确的JSON字符串 – 没问题.
但是,当我使用Requests模块发出相同的请求时,我得到一个编码的字符串,我无法确定它是什么类型的编码.这是该字符串开头的片段:
\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\xadZ\xfb\x8f\xd3H\x12\xfeWzG\xab;\x90
以下是我使用请求重现此问题的几行代码:
import requests
# api_user and api_pw not printed here for security reasons
r = requests.get('http://ourdomain.com/api/featured/school/json', auth=(api_user, api_pw))
status = r.status_code # Produces 200 every time
rawdata = r.read()
print rawdata
每次我这样做,我都会得到编码的字符串.
任何人都可以帮我确定:
a)编码是什么(对于我自己的启发),和
b)为什么请求返回该编码中的数据,以及如何解码和/或“修复”它.
提前致谢!
解决方法:
出于好奇,当你打印r.content时你会得到什么?
标签:json,python,python-requests,http-request 来源: https://codeday.me/bug/20190530/1186364.html