我正在尝试使用 requests 库为 Python 3.4 中的 API 调用创建 HMAC-SHA512 签名请求。我正在尝试关注文档,但遇到了这个错误:
AttributeError: '_hashlib.HASH' object has no attribute 'new'
这是一些代码。它因 hmac 构造函数上的错误而失败。如果我尝试传递 hashlib.md5() 或完全省略摘要参数,那很好。
我不确定我之后是否正确签署了请求,因为我还没有做到这一点。我尝试使用的服务文档说用我的秘密签署 URL。我需要这是一个字节字符串才能工作。
import hmac
import hashlib
import requests
secret = b'mysecret'
url = b'http://someurl.com/something/'
signing = hmac.new(secret, url, hashlib.sha512())
headers = {'apisign': signing.digest()}
response = requests.get(url, headers=headers)
任何指针表示赞赏。我找不到一个例子。谢谢!