Próbuję utworzyć podpisane żądanie HMAC-SHA512 dla wywołania interfejsu API w Pythonie 3.4 przy użyciu biblioteki żądań. Próbuję postępować zgodnie z dokumentami, ale trafiam w ten błąd:Żądania podpisania HMAC w Pythonie
AttributeError: '_hashlib.HASH' object has no attribute 'new'
Oto kod. Nie działa z błędem konstruktora hmac. Jest w porządku, jeśli próbuję przekazać hashlib.md5() lub całkowicie pominąć parametr digest.
Nie jestem pewien, czy podpisuję wniosek prawidłowo, ponieważ nie mam jeszcze tak daleko. Dokumenty dotyczące usługi, którą próbuję użyć, podpiszą adres URL moim sekretem. Potrzebuję tego, aby był ciągiem bajtowym, aby to działało.
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)
Wszelkie wskazówki są mile widziane. Nie mogłem znaleźć przykładu. Dzięki!
Hah, że brakowało. Dzięki! – Ludo