这是发布请求问题还是SSL验证问题

时间:2017-05-04 01:26:11

标签: python ssl post request

我正在尝试使用某个公司(尚未公开)的API。在他们的文档中,他们列出了令牌请求的格式。以下是令牌请求的文档副本:

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错误的行。我也尝试将标题中的值更改为随机值,我得到相同的错误。我可以想到三种可能性,

  1. 我正在错误地发布帖子请求
  2. API存在问题
  3. 我错过了我必须通过邮寄请求发送的证书

    这是其中一个问题还是其他问题?

1 个答案:

答案 0 :(得分:2)

他们可能正在使用自签名证书。您可以通过添加'verify = False'来绕过验证检查。我会在去生产之前删除它。 SSL证书的有效性非常重要。

replicate