我正试图使用请求库为Python3.4中的API调用创建一个HMAC-SHA512签名请求。我试图遵循文档,但遇到以下错误:
AttributeError: '_hashlib.HASH' object has no attribute 'new'
这是一些代码。它失败了,hmac构造函数出错。如果我尝试传递hashlib.md5()或完全忽略digest参数,就可以了。
我不确定我是否在之后签署了请求,因为我还没有那么远。我正在尝试使用的服务的文档,比如用我的秘密在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)
任何指点都值得赞赏。我找不到一个例子。谢谢!
必须传入对可调用的
hashlib.sha512
的引用,而不是调用它的结果:或者,您可以使用字符串
'sha512'
:并且
hashlib.new()
将用于构造哈希对象。演示:
相关问题 更多 >
编程相关推荐