我使用Requests使用Auth键获得一个简单的API响应,但是当我尝试使用常见的dict表示法获取它时,我被告知它是一个字符串,我必须使用INT指示。我觉得我错过了一些明显但却无法理解的东西。
>>>import requests
>>>r = requests.get(api_url).text
>>>print r
{"PID":"foo","LoginToken":"barbarbarfoofoo","Status":"OK"}
>>>print r['LoginToken']
TypeError:字符串索引必须是整数
我使用get.content
获得相同的结果答案 0 :(得分:3)
试
requests.get(api_url).json
或
requests.get(api_url).json()
取决于您拥有的请求版本
答案 1 :(得分:0)
.text
响应对象的requests
属性是文本,如名称所示。如果您的网站返回JSON响应,则您需要使用类似
response = json.loads(r)
这将使response
成为一个词典。
可替换地,
r = requests.get(api_url).json()
会使r
成为一个词典。
答案 2 :(得分:0)
很可能是JSON,它与典型的Python数据结构有很多共同之处。如果你解码它,你会得到一本字典:
import json
json.loads(r)