Как выполнить команду curl в Python, получить ответ и передать его через другой код - PullRequest
0 голосов
/ 27 мая 2020

У меня есть команда curl. Я хочу выполнить в Python и получить ответ, чтобы передать его через другой код.

curl https://api.box.com/oauth2/token -d 'grant_type=refresh_token' -d 'refresh_token=Ew38UXVKS3kc0axFt6MdDklUnoHpipxTzDWBmKlXAG9ImvGafbbaUhQndv89e677' -d 'client_id=3qkm5h4wh765b3khiws0z8hdpkc56jhs' -d 'client_secret=h9AeXzZL3KATJuaHmimFFBRBDZQrp9tr' -X POST

Как я могу выполнить сценарий в Python, получить ответ и передать его через другой код?

Когда я выполняю сценарий curl в CMD, я получаю следующий ответ:

{"access_token":"uz843jpIiEWnu0CcuT9as2XbA3UEQTR67","expires_in":4261,"restricted_to":[],"refresh_token":"GsDaP6VyUpHN8vDHbz9ktAjLfMLN0dFL6PMIK4fmDH8eKRqR360vDhQTBhIMZxy67","token_type":"bearer"}

Из приведенного выше ответа мне нужно взять значение access_token.

Ответы [ 2 ]

0 голосов
/ 27 мая 2020

Как сказал avloss - попробуйте requests.

Еще один отличный ресурс - это приложение Postman

Оно позволит вам опробовать любые http-вызовы, которые вы захотите например, а затем также могу перевести это в / из curl и / или python запрашивает код для вас (и множество других языков).

Я считаю это действительно полезным при попытке понять, как использовать requests для чего-либо, кроме простых http-вызовов.

0 голосов
/ 27 мая 2020

вы должны использовать requests библиотеку (pip install requests)

import requests
url = 'https://api.box.com/oauth2/token'
data = {
    'grant_type':'refresh_token',
    'refresh_token':'***',
    'client_id':'***',
    'client_secret':'***'
}
response = requests.post(url, data).json()
print(response)
...