2016-12-17 101 views
0

目前我有以下代碼。它正在工作,但並不完全符合我的需要。我需要從回覆中獲取json內容,只需一個參數即可。將Python POST請求轉換爲Python代碼

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. 

什麼,我需要的是輸出資源[ 'balance_info'] [ '平衡']

+0

'requests'不是標準庫。 – furas

+0

捲曲轉換器:https:// shibukawa.github.io/curl_as_dsl/index.html – furas

回答

0

一般來說,-d將成爲請求data=...。您curl數據包括auth_infoparams作爲發送到服務器的事情,並且如果引用了整個事件,可能會更好地理解。 -d 'auth_info={"session_id":"blablablaidhere"}'

翻譯到這蟒蛇:

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'