腾讯云V2接口API
腾讯云V2接口API
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
message: 腾讯v2接口API
'''
import hashlib, hmac, time, base64, random
from urllib import parse
import requests
class TelnetAPIV2(object):
def __init__(self, server, region="ap-shanghai"):
# 密钥参数
self.secret_id = 'xxxxxx'
self.secret_key = 'xxxxxxx'
self.server = server
self.region = region
def get(self, action, **params):
# ************* 步骤 1:对参数排序,步骤 2. 拼接请求字符串, *************
timestamp = int(time.time())
config = {
"Action": action,
"Nonce": random.randint(10000, 99999),
"Region": self.region,
"SecretId": self.secret_id,
"SignatureMethod": "HmacSHA256",
"Timestamp": timestamp
}
params = dict(config, **params)
new_params = "&".join(["%s=%s" % (i[0], i[1]) for i in sorted(params.items(), key=lambda x: x[0])])
# ************* 步骤3. 拼接签名原文字符串 *************
srcStr = 'GET' + self.server + '.api.qcloud.com/v2/index.php?' + new_params
# ************* 步骤4. 生成签名串 *************
signkey = hmac.new(self.secret_key.encode('utf8'), srcStr.encode('utf8'), hashlib.sha256).digest()
signStr = base64.b64encode(signkey).decode('utf8')
# ************* 步骤5. 生成get params *************
params_url = parse.urlencode(dict({'Signature': signStr}, **params))
# ************* 步骤6. 访问 *************
response = requests.get(url='https://%s.api.qcloud.com/v2/index.php' % self.server, params=params_url)
# ************* 步骤7. 返回JSON格式 *************
return response.json()
api = TelnetAPIV2('cns')
print(api.get('DomainList'))
————————————————
版权声明:本文为CSDN博主「金钩杯儿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shawn210/article/details/103767460