调用物联网平台云端api时的签名python3实现
2023-03-14 22:53:18 时间
物联网平台中调用云端api,python的签名实现如下,目前物联网平台支持的api列表
import time import sys import hashlib import hmac import base64 import urllib.parse def do_sign(secret, sign_content): m = hmac.new(secret, sign_content, digestmod=hashlib.sha1) return base64.b64encode(m.digest()).decode("utf-8") def encode(str): result = urllib.parse.quote(str); print ("encode===="+result) return result accessKeyId = ""; accessSecret = ""; httpmethod = "POST" parm = { "Format":"JSON", "Version":"2018-01-20", "AccessKeyId":accessKeyId, "SignatureMethod":"HMAC-SHA1", "Timestamp":"2021-12-28T06:37:48Z", "SignatureVersion":"1.0", "SignatureNonce":"86439216304009", "Action":"QueryDevice", "ProductKey":"a1tDKl1PBkl", "RegionId":"cn-shanghai" } str_parm = '' for p in sorted(parm): if(len(str_parm)>0): str_parm = str_parm + '&' if isinstance(parm[p],str): str_parm = str_parm + str(p) +"="+str(encode(parm[p])) continue str_parm = str_parm + str(p) +"="+encode(str(parm[p])) str_parm = httpmethod + '&' + "%2F" + '&' + encode(str_parm); print (str_parm) key = accessSecret+'&'; signature = do_sign(key.encode("utf-8"), str_parm.encode("utf-8")) print ("signature==="+signature) print ("最终signature===" + encode(signature))
相关文章
- 腾讯会议-看不到画面(画面黑屏)问题分析
- 腾讯音乐,慢下来了?
- 活动回顾|LVS北京站腾讯云音视频专场活动圆满落幕!
- 展会不落幕!腾讯数字生态大会展厅还有“云”上3D漫游模式!
- 业内首份 | 腾讯云音视频联合艾瑞咨询发布《全真互联趋势报告(2021-2022)》
- 2021. 腾讯全球生态大会 | 分布式云存储板块内容回顾
- 腾讯课堂发布11.11全民学习数据:260万人同时涌入选课,是疫情前的2.87倍
- 重要更新 | 腾讯待办支持数据导入啦~
- 活动 | 腾讯云证通 给你送长鹅~
- 大数据治理平台解决方案(90页PPT 附下载)
- 【面试高频题】难度 3/5,既是经典区间 DP,也是经典博弈论
- 记一次实战通过CVE-2021-21972拿下内网
- 【Rust 日报】2021-11-11 保持冷静,学习Rust,我们很快就会在Linux中更多的看到这种语言
- 图神经网络学习笔记-01基础(二)
- 学习Qt之基础篇——从入门开始(1)
- 图神经网络学习笔记-02图游走类模型
- 阿里云物联网平台设备模拟器
- 阿里、DRUID、数据源、延伸阅读、所需配置
- 图神经网络学习笔记-05进阶模型
- 常见的机器学习模型正则化的方式