我使用的API需要MD5加密才能处理POST请求。我正在尝试制作一个用户平衡'使用文档https://www.allcoin.ca/api_market/market向API请求但是每次它都会给我回复{'代码':' msg':'签名校验失败&# 39;}(表示签名检查失败)。 API仅询问2个参数,即api_key和符号。我仔细遵循文档的指导,但API仍然拒绝POST。有什么建议未通过签名检查?我错过了什么吗?
import hashlib
import keys
import requests
KEY = keys.allcoin["key"]
API_SECRET = keys.allcoin["secret"]
msg = "api_key='{}&secret_key={}".format(KEY, API_SECRET)
signature = hashlib.md5(msg.encode("utf-8")).hexdigest()
parameters = {
"api_key": KEY,
"sign": signature.upper(),
}
params = "&".join("{}={}".format(a, b) for a, b in parameters.items())
url = "http://www.allcoin.ca/Api_User/userBalance"
r = requests.post(
headers={
"Content-Type": "application/x-www-form-urlencoded",
'user-agent': 'my-app/0.0.1'
},
url=url,
params=parameters
)
print(r.json())
答案 0 :(得分:1)
我认为您要在params=parameters
中将params=params
更改为requests.post()
。