将POST请求卷入python代码

时间:2016-12-17 01:36:13

标签: python curl

目前我有以下代码。它工作正常,但并不完全符合我的需要。我需要从回复中获取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. 

我需要的是输出资源[&#39; balance_info&#39;] [&#39;余额&#39;]

1 个答案:

答案 0 :(得分:0)

通常,-d在请求中将变为data=...。您curl数据包含发送到服务器的auth_infoparams数据,如果引用整个内容,可能会更好地理解,例如-d 'auth_info={"session_id":"blablablaidhere"}'

将其翻译成python:

data = {'auth_info':'{"session_id":"blablablaidhere"}',
        'params':'{"id":"12345"}'})
response = requests.post(url, data=data)

哪会产生:

send: b'POST /get_info HTTP/1.1\r\nHost: somelinkhere\r\nConnection: keep-alive\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: python-requests/2.12.3\r\nAccept: */*\r\nContent-Length: 92\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n'
send: b'auth_info=%7B%22session_id%22%3A%22blablablaidhere%22%7D&params=%7B%22id%22%3A%2212345%22%7D'