Allcoin签名的POST请求失败

时间:2018-04-24 20:56:14

标签: python api post md5

我使用的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())

1 个答案:

答案 0 :(得分:1)

我认为您要在params=parameters中将params=params更改为requests.post()