from hashlib import sha1
import httplib, urllib,datetime,base64,hmac,random,time,math
SecretId='AKIDT8G5AsY1D3MChWooNq1rFSw1fyBVCX9D'
SecretKey='pxPgRWDbCy86ZYyqBTDk7WmeRZSmPco0'
keyArr=['limit', 'Nonce','SecretId', 'Action','Timestamp',"offset"]
keyArr.sort()
print(keyArr)
dict={
'Action' : 'DescribeCdnHosts',
'Nonce':random.randint(999999,9999999),
'SecretId' : SecretId,
'Timestamp' : int(time.time()),
'limit' : 10,
'offset' : 0
}
print(dict['Action'])
signSrc=''
for index in keyArr:
print(index)
signSrc=signSrc+"&"+index+'='+str(dict[index])
signSrc=signSrc[1:]
signSrc='POSTcdn.api.qcloud.com/v2/index.php?'+signSrc
print(signSrc)
my_sign = hmac.new(SecretKey,signSrc , sha1).digest()
my_sign = base64.b64encode(my_sign)
print(my_sign)
my_sign=urllib.urlencode({'1':my_sign})
print(my_sign)
sign=my_sign[2:]
print(sign)
dict['Signature']=sign
print(dict)
params = urllib.urlencode(dict)
headers = {"Content-type": "application/x-www-form-urlencoded"}
conn = httplib.HTTPSConnection("cdn.api.qcloud.com")
conn.request("POST", "/v2/index.php", params, headers)
response = conn.getresponse()
print response.status, response.reason
data = response.read()
print data
conn.close()
签名生成和例子里面一模一样,但是改成自己的参数就是身份认证失败啊啊啊啊啊啊
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。