簡體   English   中英

python 3中的curl等效發布請求

[英]curl equivalent post request in python 3

我必須在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傳遞數據?

您需要將字典傳遞給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)
)

有關詳細信息,請參見文檔

數據=數據

代替

數據= json.dumps(數據)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM