阿里云短信服务调用例子

阿里云官方文档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的更多相关文章

  1. flask+阿里云短信服务实现注册发送手机验证码

    效果图: 该效果主要讲解实现通过调用阿里云的SDK实现发送注册验证码短信(阿里云短信付费使用) 购买阿里云短信服务 购买链接:https://www.aliyun.com/product/sms 1. ...

  2. php 阿里云短信服务及阿里大鱼实现短信验证码的发送

    一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access ...

  3. ThinkPHP3.2.3框架下接入阿里云短信服务接口实现:注册登录

    首先介绍下短信注册登录流程: 注册页面点击获取手机号验证码按钮,用jquery的click事件POST或GET方法把手机号发送到后台控制器: 后台控制器创建函数,收到手机号后生成随机码,例如:6位的随 ...

  4. java实现阿里云短信服务发送验证码

    由于做项目的时候遇到了接第三方短信服务,所以记录一下. 一.新建一个maven项目并导入相关依赖 <!--手机发送短信验证码--> <dependency> <group ...

  5. python3配置阿里云短信服务

    1.申请阿里云短信服务,具体步骤看我的python2-Django配置短信服务 2.安装依赖 aliyun-python-sdk-core-v3 aliyun-python-sdk-dysmsapi= ...

  6. 阿里云短信服务 PHP

    1.开通短信服务后,进入控制器->短信服务 2.点击国内消息,配置签名,模板(这里不作详细介绍) 3.点击进入左侧帮助文档里面,找到PHP sdk,Composer命令直接安装 4.获取acce ...

  7. 阿里云短信服务bug

    接入阿里云短信服务,在springboot中写测试方法,执行到 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou ...

  8. 移动端获取短信验证码java实现——阿里云短信服务

    需求:移动端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短信 ...

  9. 浏览器端获取短信验证码java实现——阿里云短信服务

    需求:浏览器端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短 ...

随机推荐

  1. WPF 自定义Command

    无参Command: internal class DelegateCommand : ICommand { private readonly Action _execute; private rea ...

  2. wpf学习20180606

    对象元素的子元素 有三类子元素:内容属性.集合项.值(类型转换) ------------------------------------------------------------------- ...

  3. Spring Bean的生命周期相关博客

    最近得面试题一直 问 Spring 得生命周期,鉴于自己还未阅读过源码 所以只能是自己 背一波了.属实不懂硬背得作用,但是无奈被各位面试官打败了.等以后有时间了 一定要阅读几遍spring的 源码 有 ...

  4. 【Java每日一题】20170220

    20170217问题解析请点击今日问题下方的“[Java每日一题]20170220”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; import jav ...

  5. (6)Microsoft office Word 2013版本操作入门_文件封面,页首,页尾

    1插入封面: 1.1光标移动到首段,按住 Ctrl+Enter键可以插入一个新页面. 1.2 插入--->封面 可以在封面插入一个文件封面,里面的图片可以自己修改,文字标题也可以自己修改. 1. ...

  6. 怎么打开在.bashrc文件以及设置颜色

    打开/etc/bashrc,加入如下一行:   alias ls="ls --color"   下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了,其中不同颜 ...

  7. JavaScript机器学习之线性回归

    译者按: AI时代,不会机器学习的JavaScript开发者不是好的前端工程师. 原文: Machine Learning with JavaScript : Part 1 译者: Fundebug ...

  8. 前端入门2-HTML标签

    本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 声明 本系列文章内容全部梳理自以下四个来源: <HTML5权威指南> <JavaScript权威指南> MD ...

  9. 【CSS学习】--- 文本水平对齐属性text-align和元素垂直对齐属性vertical-align

    一.文本水平对齐属性---text-align text-align属性是将块级标签以及单元格里面的内容进行相应的对齐,块级标签里的内联元素会被整体进行移动,而子块级元素或子单元格则会继承父元素的te ...

  10. 2018-08-13 中文编程讨论组(GitHub)社区守则一周年修订

    原址在此 社区守则 大原则 求同存异 就事论事 己所不欲勿施于人 注: 在讨论组成立一周年之际, 对行为规范进行一些细化 内 这部分所有内容同样适用于对外 回归技术 所有与中文编程没有直接关系的话题都 ...