2016-12-17 5 views
0

В настоящее время у меня есть следующий код. Он работает, но не совсем так, как мне нужно. Мне нужно получить json-контент из ответа, только один параметр.Curl 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' не является стандартным Lib. – furas

+0

curl converter: https://shibukawa.github.io/curl_as_dsl/index.html – furas

ответ

0

Вообще, -d станет data=... в запросах. Данные curl включают в себя auth_info и params как вещи, отправленные на сервер, и, возможно, лучше понять, если вы указали все это, например. -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'