python3:调用阿里云小蜜代码示例
最近有一个项目需要调用阿里云小蜜,我就拿python调用了一下,然后在官网居然没有找到很好的sample code。就只能自己硬着头皮写一下啦
import base64
import urllib.parse
import hmac
from hashlib import sha1
import requests
import uuid
import time
import hmac,ssl
ALIYUN_ACCESS_KEY_ID="your id"
ALIYUN_ACCESS_KEY_SECRET="your secret"# 解决 访问ssl网站证书的问题
try:_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:# Legacy Python that doesn't verify HTTPS certificates by defaultpass
else:# Handle target environment that doesn't support HTTPS verificationssl._create_default_https_context = _create_unverified_https_contextD = {'Format':'JSON','Version':'2017-10-11','SignatureMethod':'HMAC-SHA1'}
timestamp = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())
D['SignatureNonce']=str(uuid.uuid1())
D['SignatureVersion']=1.0
D['AccessKeyId']=ALIYUN_ACCESS_KEY_ID
D['Timestamp']=timestampdef percent_encode(encodeStr):encodeStr = str(encodeStr)res = urllib.parse.quote(encodeStr)res = res.replace('+', '%20')res = res.replace('*', '%2A')res = res.replace('%7E', '~')return resdef sign(parameters):sortedParameters = sorted(parameters.items(), key=lambda parameters: parameters[0])print(sortedParameters)canonicalizedQueryString = ''for (k, v) in sortedParameters:canonicalizedQueryString += '&' + percent_encode(k) + '=' + percent_encode(v)stringToSign = 'GET&%2F&' + percent_encode(canonicalizedQueryString[1:]) # 使用get请求方法bs = ALIYUN_ACCESS_KEY_SECRET + '&'bs = bytes(bs, encoding='utf8')stringToSign = bytes(stringToSign, encoding='utf8')h = hmac.new(bs, stringToSign, sha1)# 进行编码signature = base64.b64encode(h.digest()).strip()return signatureD['Action']="Chat"
D['InstanceId']="your instance id" #你阿里云的机器人实例id
D['Utterance']="电脑黑屏了怎么办"
D['Signature'] = sign(D)sortedParameters = sorted(D.items(), key=lambda D: D[0])
# print(D["Signature"])
# print(sortedParameters)url = 'https://chatbot.cn-shanghai.aliyuncs.com/?' + urllib.parse.urlencode(sortedParameters)
print(url)
r = requests.get(url)
print(r.text)
运行成功了,我的输出为:
{"SessionId":"672d532e9e1e40c09563828f54ee5b05","Messages":[{"Text":{},"Type":"Knowledge","Knowledge":{"Id":"74952","Content":"亲,先确认一下是否是没有接入电源,电量过低导致的黑屏,如果不是请到IT服务台报修,IT管理员会根据检测情况处理哦。","AnswerSource":"KnowledgeBase","Title":"电脑黑屏了怎么办","Summary":"亲,先确认一下是否是没有接入电源,电量过低导致的黑屏,如果不是请到IT服务台报修,IT管理员会根据检测情况处理哦。"}}],"MessageId":"0bb0e211d48d42acaf7f6e1924f7482c","RequestId":"D241002A-FADE-4C86-8180-9CD0B857017E"}
参考文献
[1].会话.https://help.aliyun.com/document_detail/60463.html?spm=a2c4g.11186623.6.555.rdcox6
[2].python3 获取阿里云ECS 实例及监控的方法.https://www.cnblogs.com/IPYQ/p/5996868.html
[3].签名机制.https://help.aliyun.com/document_detail/60762.html?spm=a2c4g.11186623.6.553.lFcX1e
python3:调用阿里云小蜜代码示例相关推荐
- 阿里云小蜜获评智能客服技术产品/解决方案大类推荐品牌
摘要: 7月24日,由客户世界机构主办,中国呼叫中心与电子商务发展研究院.全球呼叫中心产业联盟联合支持的客户世界• 洞察者2018北京论坛在丽景湾国际酒店圆满举行.作为全球领先的智能客服产品及方案提供 ...
- 阿里云小蜜PHP实例代码
云小蜜 阿里云 登陆地址:https://signin.aliyun.com/login.htm 文档地址:<https://help.aliyun.com/product/59495.html ...
- 对话系统 | (3) 阿里云小蜜对话机器人背后的核心算法
原文地址 分享嘉宾:唐呈光 阿里巴巴 算法专家 编辑整理:刘汝洲 内容来源:阿里小蜜 & DataFun AI Talk 出品社区:DataFun 阿里小蜜智能对话开发平台是智能服务事业部推出 ...
- 调用阿里云人脸识别接口示例
下面我为大家展示一下我调用阿里云人脸识别接口的示例 首先说下开发环境,springboot 开发的 org.apache.commons.codec.binary.Base64; 这个主要是用来进行b ...
- 阿里云小蜜优势与应用场景
云小蜜(Intelligent Service Robot)是一款基于自然语言处理(NLP)和人工智能(AI)技术提供智能会话能力的云服务.无需亲自掌握NLP.AI等技术,您就可以使用云小蜜创建自己的 ...
- api调用实例python_调用阿里云API 的demo示例(java/python)
Java 示例 // 创建DefaultAcsClient实例并初始化 DefaultProfile profile = DefaultProfile.getProfile(vo.getAliRegi ...
- java调用云小蜜示例教程(调用sdk版本)
最近又用java写了云小蜜的调用教程,这里总结一下,首先maven依赖为: <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-j ...
- python 验证码识别 阿里云_python3调用阿里云图像识别OCR-实现验证码识别
python3 调用阿里云图像识别OCR-验证码识别 前言 使用别人的接口,是需要在别人的平台上创建应用的. 所以,我们要先去 购买地址:(放心,免费的.) https://market.aliyun ...
- python如何调用阿里云接口_python 调用阿里云云解析api添加记录
首先安装阿里云SDK pip install aliyun-python-sdk-core pip install aliyun-python-sdk-alidns 可以配合jenkins传递参数 # ...
最新文章
- 汉字转换成全拼的拼音
- 连续三天说一个事情 : 信号转换
- 安装phpcms时出现Warning: ob_start(): output handler \'ob_gzhandler\' conflicts with \'zlib
- 实时手势识别 【手部跟踪】Mediapipe中的hand
- 回文质数(洛谷P1217题题解,Java语言描述)
- Python——PyCharm常用快捷键
- ofo在北京上线有桩模式,违规最高罚20元
- c++工作笔记002---C++ 类成员访问运算符 - 的重载
- 机器学习中的基本概念
- java 包依赖_java命令执行带jar包依赖的文件执行不了
- 阿里云容器服务Kubernetes之Jenkins X(2)-自动化CICD实践篇
- 雪球网 json 获取
- 东西湖职业技术学校计算机,武汉东西湖职业技术学校中专
- lightGBM简述
- FineReport缺失字体检测
- win11系统中文名修改英文名,以及用户文件改名
- Java课程设计-图书借阅管理系统
- 计算机修改人类记忆曲线,Memory Helper - 艾宾浩斯遗忘曲线记忆助手
- 纯CSS实现弹幕效果
- Mac 远程连接 Windows 桌面工具 Parallels Client 使用教程
热门文章
- 2020的“小众”播客能否迎来2021的“大众”狂欢
- 按键精灵判断与循环的使用
- 利用API实现全国失信名单查询
- intellij idea 激活码 activate code 绝对有效,简单易操作
- 联想r9000p电脑外接显示屏黑屏问题解决
- wepy2.0点击事件bug
- Word的样式库在 选项卡中_“页眉页脚如何设置?”方法很多种,这种最简单|Word页眉页脚...
- python输入两个字符串连接起来_python字符串连接的多种方法
- 注销QQ和微信的方法
- 欧洲杯第四周的比赛闲聊