Symantec End Point Manager API - 身份验证问题

时间:2017-06-02 13:10:19

标签: python python-requests symantec

以下是我的代码:

import requests, json

proxyDict = {
    "http": "<proxy>",
}
base_url = "https://<host_IP>/sepm/api/v1/identity/authenticate"

# if output is required in JSON format
json_format = True

payload = {
    "username" : "<username_here>",
    "password" : "<password_here>",
    "domain" : ""
}

headers = {
    "Content-Type" : "application/json"
}

requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += 'HIGH:!DH:!aNULL' # necessary
r = requests.Session()      # Start session in order to store the SessionID Cookie
print json.dumps(payload)
r = requests.post(base_url, proxies=proxyDict, verify=False, headers=headers, data=json.dumps(payload))

strings = r.text
print strings
  

SSL证书有一些错误,因此我使用verify=FalseDEFAULT_CIPHERS += 'HIGH:!DH:!aNULL'

上面的代码与提供的文档一致,但服务器拒绝了我的auth请求,并出现以下错误:

{"errorCode":"400","errorMessage":"Invalid Username or Password"}

在你开枪之前,我检查并重新检查了我的凭据,然后检查了几次。 我的凭据是正确的

我正在做什么错误?

其他信息:SEPM版本:{"version":"12.1.6168.6000"}

2 个答案:

答案 0 :(得分:2)

这个派对迟到了,但我几乎遇到了同样的问题,虽然它的情况略有不同。那么,我的问题最终是我的密码中的特殊字符。在Symantec管理器端处理身份验证的其余方法不知道如何处理某些特殊字符,因此它返回400语法错误。尝试从您的密码中提取特殊字符,并将其保留在15个字符以内。

祝你好运。

答案 1 :(得分:0)

您可能希望尝试将以下行放在代码顶部附近:

     urllib3.disable_warnings()

并忽略SSL身份验证