def getCipherPassword(password): private_key = '8EDB615B1D48B8BE188FC0F18EC08A41DF50EA731FA28BF409E6552809E3A111' # 这里假设你已经有了私钥字符串,实际中需通过特定方法生成 public_key = '0484C7466D950E120E5ECE5DD85D0C90EAA85081A3A2BD7C57AE6DC822EFCCBD66620C67B0103FC8DD280E36C3B282977B722AAEC3C56518EDCEBAFB72C5A05312' # 同理,公钥字符串 # 生成SM2密钥对 sm2 = gmssl.sm2.CryptSM2(public_key=public_key,private_key=private_key,mode=1) # 加密 ciphertext = sm2.encrypt(password.encode()) print(f"加密后的消息(二进制形式): {ciphertext.hex()}") return ciphertext.hex() def login(): # 登录页面的URL login_url = 'http://localhost:5005/api/sysAuth/login' headers = { # 'Authorization': 'Bearer YourAccessToken', # 替换为您的访问令牌或其他认证信息 'Content-Type': 'application/json' # 根据接口要求添加请求头 } password = getCipherPassword('密码') # 登录表单的数据 payload = { 'account': 'superadmin', 'password': password, 'schoolId': 'npjx', 'code': '', 'codeId':0, 'userid':'' } print(payload) # 使用Session保持会话状态 session = requests.Session() # 发送POST请求以登录 login_response = session.post(login_url,data=str(payload),headers=headers) # 检查登录是否成功 if login_response.status_code == 200: print("登录成功!") try: error_info = login_response.json() # 尝试解析错误信息 print("错误信息:", login_response.text) except ValueError: # 如果响应不是 JSON 格式,打印文本内容 print("错误信息:", login_response.text) else: print("登录失败")