我需要实现以下卷曲:
curl -k https://somelinkhere/get_info -d auth_info='{"session_id":"blablablaidhere"}' -d params='{"id":"12345"}'
目前我有以下代码。它工作正常,但并不完全符合我的需要。我需要从回复中获取json内容,只需一个参数。
url = 'https://somelinkhere/get_info'
data = {'auth_info':'{"session_id":"blablablaidhere"}', 'params':'{"id":"12345"}'}
response = requests.post(url, data=data)
res = response.content
print res
现在它返回
'�Z[o�6�+���֖���ې�0�{h�`
AK�M�"����o�9�dI���t��@RI<��"�GD�D��.3MDeN��
��hͣw�fY)SW����`0�{��$���L��Zxvww����~�qA��(�u*#��݅Pɣ����Km���'
etc.
我需要的是输出
res['balance_info']['balance']
如果我从命令行启动cURL(上面提供),我有以下内容:
{"balance_info":{"enabled":"Y","balance":"0.55000","out_date_format":"MM-DD-YYYY","password":"12345","blocked":"N"
但是不知道如何使用python脚本获取此参数
答案 0 :(得分:1)
与文档一样,content property给出了响应的二进制版本。 您需要使用.text获取请求的解码版本,然后将其加载为json。
val
现在您可以按以下方式访问您的密钥:
response = requests.post(url, data=data)
#load it as json
item = json.loads(response.text)
答案 1 :(得分:0)
以下是使用Requests的示例:
>>> import requests
>>> r = requests.post('https://somelinkhere/get_info',
data = {"id": "12345"})
另请参阅virtualenv上的install Requests文档。
答案 2 :(得分:0)
你得到的是Gziped JSON字符串。 在阅读decompress之前,您必须json。然后你可以将响应用作python dict。
像res = json.loads(zlib.decompress(response.content))