def get_string_to_sign(method, endpoint, params):
s = method + endpoint + "/?"
query_str = "&".join("%s=%s" % (k, data[k]) for k in sorted(data))
return s + query_str
def sign_str(key, s, method):
hmac_str = hmac.new(key.encode("utf8"), s.encode("utf8"), method).digest()
return base64.b64encode(hmac_str)
if __name__ == '__main__':
endpoint = "vod.api.qcloud.com/v2/index.php"
data = {
'Action': 'GetVideoInfo',
'fileId': '5285890781569505487',
'infoFilter.0': 'basicInfo',
'Nonce': 5252,
'Region': 'sh',
'SecretId': secretId,
'Timestamp': int(time.time())
}
s = get_string_to_sign("GET", endpoint, data)
data["Signature"] = sign_str(secretKey, s, hashlib.sha1)
print(data["Signature"])
resp = requests.get("https://" + endpoint, params=data)
print(resp.url)
用的官方的示范例python代码,还是报错,找不到原因
相似问题