requests ライブラリを使用して、Python 3.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)
任意のポインタをいただければ幸いです。例が見つかりませんでした。ありがとう!