在python 3中卷曲等效的帖子请求

时间:2017-11-22 09:28:22

标签: python http curl python-requests

我必须在python 3中编写以下curl脚本

curl -X POST\
-u '$client_id:$client_secret'\
-d 'grant_type=client_credentials&access_lifetime=7200'
 https://www.example.com/oauth/token

我试过这个

data = {'grant_type': 'client_credentials', 'access_lifetime': '7200'}
response_result = requests.post(
    'https://www.example.com/oauth/token',
    data=json.dumps(data),
    auth=('client_id', 'client_secret)
)

但在print(response_result.text)上,它会将错误视为The grant type was not specified in the request

我认为data未通过或我使用错误的方式传递data

如何传递requests

中的数据

2 个答案:

答案 0 :(得分:0)

您需要将字典传递给data关键字参数,而不是JSON字符串:

data = {'grant_type': 'client_credentials', 'access_lifetime': '7200'}
response_result = requests.post(
    'https://www.example.com/oauth/token',
    data=data,
    auth=('client_id', 'client_secret)
)

有关详细信息,请参阅the documentation

答案 1 :(得分:-1)

数据=数据

而不是

数据= json.dumps(数据)