阿里云短信服务调用例子-Python
阿里云短信服务调用例子
阿里云官方文档https://helpcdn.aliyun.com/document_detail/101893.html
首先需要安装阿里云PythonSDK(下面是python3版本的安装方式)
pip install aliyun-python-sdk-core-v3
阿里云官方调用例子
#!/usr/bin/env python
#coding=utf-8 from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
client = AcsClient('<accessKeyId>', '<accessSecret>', 'default') request = CommonRequest()
request.set_accept_format('json')
request.set_domain('dysmsapi.aliyuncs.com')
request.set_method('POST')
request.set_protocol_type('https') # https | http
request.set_version('2017-05-25')
request.set_action_name('SendSms') request.add_query_param('PhoneNumbers', '')
request.add_query_param('SignName', 'xxxx')
request.add_query_param('TemplateCode', 'SMS_164561229')
request.add_query_param('TemplateParam', '{"code": 100500}') response = client.do_action(request)
# python2: print(response)
print(str(response, encoding = 'utf-8'))
我自己写的一个例子
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest class AliyunSms():
def __init__(self, accessKeyId, accessSecret, signName):
self.accessKeyId = accessKeyId
self.accessSecret = accessSecret
self.signName = signName def _generate_request(self, phone_num, code, templateCode):
request = CommonRequest()
request.set_accept_format('json')
request.set_domain('dysmsapi.aliyuncs.com')
request.set_method('POST')
request.set_protocol_type('https') # https | http
request.set_version('2017-05-25')
request.set_action_name('SendSms')
request.add_query_param('PhoneNumbers', phone_num)
request.add_query_param('SignName', self.signName)
request.add_query_param('TemplateCode', templateCode)
request.add_query_param('TemplateParam', '{"code": ' + code + '}')
return request def _generate_client(self):
client = AcsClient(self.accessKeyId, self.accessSecret, 'default')
return client def send_sms(self, phone_num, code, templateCode):
"""
发送短信验证码,返回Code字段的值
:param phone_num: 手机号
:param code: 验证码内容
:param templateCode: 验证码模板
:return:
"""
client = self._generate_client()
request = self._generate_request(phone_num, code, templateCode)
try:
response = client.do_action(request) # bytes 类型
response = response.decode() # str类型
response_dict = json.loads(response) # {'Message': '触发天级流控Permits:1', 'RequestId': '5FA848EB-7C84-469D-8254-043835A05624', 'Code': 'isv.BUSINESS_LIMIT_CONTROL'}
return response_dict['Code'] except Exception as e:
return None if __name__ == '__main__':
ali = AliyunSms('这里填accessKeyId', '这里填accessKeySecret', '这里填签名名称')
a = ali.send_sms('', '这里是验证码内容', '这里写模版CODE')
print(a)
模板CODE在这里

签名名称在这里

阿里云短信服务调用例子-Python的更多相关文章
- flask+阿里云短信服务实现注册发送手机验证码
效果图: 该效果主要讲解实现通过调用阿里云的SDK实现发送注册验证码短信(阿里云短信付费使用) 购买阿里云短信服务 购买链接:https://www.aliyun.com/product/sms 1. ...
- php 阿里云短信服务及阿里大鱼实现短信验证码的发送
一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access ...
- ThinkPHP3.2.3框架下接入阿里云短信服务接口实现:注册登录
首先介绍下短信注册登录流程: 注册页面点击获取手机号验证码按钮,用jquery的click事件POST或GET方法把手机号发送到后台控制器: 后台控制器创建函数,收到手机号后生成随机码,例如:6位的随 ...
- java实现阿里云短信服务发送验证码
由于做项目的时候遇到了接第三方短信服务,所以记录一下. 一.新建一个maven项目并导入相关依赖 <!--手机发送短信验证码--> <dependency> <group ...
- python3配置阿里云短信服务
1.申请阿里云短信服务,具体步骤看我的python2-Django配置短信服务 2.安装依赖 aliyun-python-sdk-core-v3 aliyun-python-sdk-dysmsapi= ...
- 阿里云短信服务 PHP
1.开通短信服务后,进入控制器->短信服务 2.点击国内消息,配置签名,模板(这里不作详细介绍) 3.点击进入左侧帮助文档里面,找到PHP sdk,Composer命令直接安装 4.获取acce ...
- 阿里云短信服务bug
接入阿里云短信服务,在springboot中写测试方法,执行到 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou ...
- 移动端获取短信验证码java实现——阿里云短信服务
需求:移动端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短信 ...
- 浏览器端获取短信验证码java实现——阿里云短信服务
需求:浏览器端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短 ...
随机推荐
- 【golang-GUI开发】项目的编译
在上一篇文章里,我们讲到了安装therecipe/qt(https://www.cnblogs.com/apocelipes/p/9296754.html),现在我们来讲讲如何编译使用了thereci ...
- Python爬虫之多线程下载豆瓣Top250电影图片
爬虫项目介绍 本次爬虫项目将爬取豆瓣Top250电影的图片,其网址为:https://movie.douban.com/top250, 具体页面如下图所示: 本次爬虫项目将分别不使用多线程和使 ...
- C#基础知识总结(三)
摘要 关系表达式.逻辑表达式.分支结构的总结:if-else.if-else if-else.switch-case一.关系运算符 >,==,<… 关系表达式的结果是bool类型,true ...
- Android Studio RecyclerView用法
首先创建一个布局 里面放一个文本 <TextView android:id="@+id/textView" android:layout_width="60dp&q ...
- JS实现分钟数和时间小时 格式的转换
1.分钟数转换为 小时:分钟 function ChangeHourMinutestr(str) { if (str !== "0" && str !== &qu ...
- ASP.NET MVC3 在_ViewStart设置Layout使用RenderAction的注意事項
来源:https://dotblogs.com.tw/lastsecret/archive/2012/03/26/71052.aspx ASP.NET MVC3 在_ViewStart設定Layout ...
- git方式安装thinkphp5
1.thinkphp 的github 代码版本地址:https://github.com/top-think 2. 点击think 复制 地址 3. 新建thinkphp5 文件夹 git clone ...
- Vue 2.5 发布了:15篇前端热文回看
Vue 2.5 发布了:15篇前端热文回看 2017-11-02 前端大全 (点击上方公众号,可快速关注) 本文精选了「前端大全」2017 年 10 月的 15 篇热门文章.其中有职场分享.技术分享和 ...
- 洛谷P4593 [TJOI2018]教科书般的亵渎(拉格朗日插值)
题意 题目链接 Sol 打出暴力不难发现时间复杂度的瓶颈在于求\(\sum_{i = 1}^n i^k\) 老祖宗告诉我们,这东西是个\(k\)次多项式,插一插就行了 上面的是\(O(Tk^2)\)的 ...
- odoo:开源 ERP/CRM 入门与实践
看了这张图,或许你对odoo有了一些兴趣. 这次就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者有帮助:研发.产品.项目.市场.服务.运营.管理等. 一.背景趋势 社交网络.电商O2O: ...