如何解决Python API Post HMAC - 有效负载不匹配签名请求
抱歉,我是新手,这里的所有东西我都试过了。
文档说明加密算法需要 2 个参数:签名密钥和输入字符串。
在 GET 调用中,哈希签名在标头中传递,输入字符串为空。这工作得很好,但我在消息下的输入字符串中输入的任何内容都不起作用。当消息中出现其他内容时,我可以看出 HMAC 正在发生变化,但似乎不匹配。
目前代码有空引号,但我尝试填充它。
import requests
import hmac
import base64
import hashlib
cert_file_path = "cert.pem"
key_file_path = "server.key"
data = "test.xml"
url = "https://API_Endpoint"
cert = (cert_file_path,key_file_path)
message = bytes('','utf-8')
secret = bytes('********************','utf-8')
auth = hmac.new(secret,message,digestmod=hashlib.sha256).digest()
signature = base64.b64encode(auth).decode()
headers = {"mac": signature,"content-type": "application/x-www-form-urlencoded; charset=UTF-8"}
print(signature)
r = requests.post(url,cert=cert,headers=headers,data=data)
print(r.content)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。