以下是我的代码:
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=False
和DEFAULT_CIPHERS += 'HIGH:!DH:!aNULL'
上面的代码与提供的文档一致,但服务器拒绝了我的auth
请求,并出现以下错误:
{"errorCode":"400","errorMessage":"Invalid Username or Password"}
在你开枪之前,我检查并重新检查了我的凭据,然后检查了几次。 我的凭据是正确的
我正在做什么错误?
其他信息:SEPM版本:{"version":"12.1.6168.6000"}
答案 0 :(得分:2)
这个派对迟到了,但我几乎遇到了同样的问题,虽然它的情况略有不同。那么,我的问题最终是我的密码中的特殊字符。在Symantec管理器端处理身份验证的其余方法不知道如何处理某些特殊字符,因此它返回400语法错误。尝试从您的密码中提取特殊字符,并将其保留在15个字符以内。
祝你好运。答案 1 :(得分:0)
您可能希望尝试将以下行放在代码顶部附近:
urllib3.disable_warnings()
并忽略SSL身份验证