我正在嘗試使用某個公司的(尚未公開的)API。在他們的文檔中,他們列出了令牌請求的格式。下面是一個令牌申請文件的副本:這是發佈請求問題或SSL驗證問題
POST
https://***.****.com/auth/realms/****/protocol/openid-connec
t/token
Headers:
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {base64-encoded-key-and-secret}
Body: grant_type:client_credentials
的授權密鑰被他們給我的,形式'Basic a3RhdmlfdG...'
我試圖用Python語言編寫POST請求的,我有問題,我不確定這是我的錯還是他們的開發者的錯。這裏是我的代碼:
url = 'https://***.****.com/auth/realms/****/protocol/openid-connect/token'
headers = {'Content-Type':'application/x-www-urlencoded', 'Authorization':'Basic a3RhdmlfdG...'}
body = {'grant_type':'client_credentials'}
response = requests.post(url = url, data = json.dumps(body), headers = headers)
print response
在行,其中response = ...
我發現了一個SSL: CERTIFICATE_VERIFY_FAILED
錯誤。我也嘗試將頭中的值更改爲隨機值,並得到相同的錯誤。我能想到的三種可能性,無論是
- 我做POST請求錯誤
- 沒有與API
我缺少一個證書有問題,我必須與郵寄要求
它是這些問題之一還是別的嗎?
#2 ......但你能告訴請求ignore_ssl_errors –
的SSL錯誤消失,由於SharpSol的建議,但現在我得到一個400錯誤,應該意味着它是1和2的一些組合。 .. – David