阿里通信[短信验证码]上线实战流程分享-阿里云开发者社区

开发者社区> 上云活动指导> 正文

阿里通信[短信验证码]上线实战流程分享

简介: 1、阿里云短信服务官方文档使用指引: 2、登录阿里通信 1)登录链接:https://www.aliyun.com/product/sms 2)可以使用淘宝账号登录 3)登录成功后,进入到这个界面:https://dysms.console.aliyun.com/dysms.htm#/overview 3、阿里通信-短信验证码使用1)获取 AccessKey 和 ACCESS_KEY_SECRET: 2)新建签名及模板签名及模板审核通过后即可以使用了。
+关注继续查看

1、阿里云短信服务官方文档使用指引

2、登录阿里通信
 1)登录链接:https://www.aliyun.com/product/sms
 2)可以使用淘宝账号登录
 3)登录成功后,进入到这个界面:https://dysms.console.aliyun.com/dysms.htm#/overview
_1

3、阿里通信-短信验证码使用
1)获取 AccessKey 和 ACCESS_KEY_SECRET:

_2
2)新建签名及模板
签名及模板审核通过后即可以使用了。

4、python 发送短信验证码
1)下载阿里短信服务下的SDK(python):https://help.aliyun.com/document_detail/112147.html?spm=a2c4g.11186623.6.631.673f5f30ZSc6vT
_3

在项目的虚拟环境中,执行下述命令,安装阿里云SDK核心库:
python 2.x 安装:

pip install aliyun-python-sdk-core
 python 3.x 安装:

pip install aliyun-python-sdk-core-v3
2)使用 OpenAPI Explorer 来生成相关API的Demo并应用在我们自己的项目中
_4

使用 python SDK 的示例指导链接:https://help.aliyun.com/document_detail/53090.html

短信API demo 介绍:

QuerySendDetails:调用QuerySendDetails接口查看短信发送记录和发送状态 , 文档链接:https://help.aliyun.com/document_detail/102352.html

SendSms:发送短信 , 文档链接:https://help.aliyun.com/document_detail/101414.html

SendBatchSms:批量发送短信, 文档链接:https://help.aliyun.com/document_detail/102364.html

3)SendSms 相关参数介绍
请求参数:
_5

返回参数:
_6
返回结果 json 格式:
{

"Message":"OK",
"RequestId":"2184201F-BFB3-446B-B1F2-C746B7BF0657",
"BizId":"197703245997295588^0",
"Code":"OK"

}
错误码 error code:https://error-center.aliyun.com/status/product/Dysmsapi
4)SendSms API 生成

进入OpenAPI Explorer :https://api.aliyun.com/?spm=a2c4g.11186623.2.15.506959adEnxtsy#/?product=Dysmsapi&api=QuerySendDetails

使用:
_7
API 调试生成 python 代码:

!/usr/bin/env python

coding=utf-8

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
client = AcsClient('', '', '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', "13*")
request.add_query_param('SignName', "小饭桌网站")
request.add_query_param('TemplateCode', "SMS_16")
request.add_query_param('TemplateParam', "{'code':'123456'}")

response = client.do_action(request)

python2: print(response)

print(str(response, encoding = 'utf-8'))
我们只需要复制上述代码,稍作改动,将code变成我们需要的验证码就可以了。

具体使用:

新建 random_code.py 文件,代码如下:
import random

def generate_code():

"""生成四位数的验证码"""
seeds = "1234567890"
random_str = []
for i in range(4):
    random_str.append(random.choice(seeds))
return "".join(random_str)

新建 aliyunsdk.py 文件,用于发送短信(可直接拿去使用),代码如下:
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest

from utils.random_code import generate_code

def aliyun_send_sms():

"""阿里云发送短信"""
client = AcsClient('******', '***********', 'default')  # <accessKeyId> 、<accessSecret>

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')

code = generate_code()   # 生成四位数的验证码

request.add_query_param('PhoneNumbers', "13*******")
request.add_query_param('SignName', "小饭桌网站")
request.add_query_param('TemplateCode', "SMS_********")
request.add_query_param('TemplateParam', json.dumps({'code': code}))  # 以json 格式传递code参数

response = client.do_action(request)  # 发送短信

response = str(response, encoding='utf-8')  # 返回的response 为 <class 'bytes'> 类型,将其转换成str字符串类型
response = json.loads(response)  # 再通过json.loads,将str类型的 response 转换成dict 格式
# print(response)     # response:{'Message': 'OK', 'RequestId': 'F07A40C3-539C-453B-BE52-4B60FF8DF58E', 'BizId': '431121158876223912^0', 'Code': 'OK'}
# print(response['Code'])  # 获取 Code 值
return code, response['Code']

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
React.js 入门与实战之开发适配PC端及移动端新闻头条平台课程上线了
作者:Parry 出处:http://www.cnblogs.com/parry/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
858 0
数据分析实战 基于EXCEL和SPSS系列工具的实践》一1.4 数据分析的流程
数据分析一般有数据采集、数据整理、制表、数据分析、数据呈现等多个阶段。当然,不是说每一个数据分析的过程都需要这些阶段,有的企业数据质量非常好,自然就不需要数据采集过程了;也有些数据分析并不怎么需要呈现过程。不过,为了方便读者理解,下面将介绍一个完整的流程。
1333 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
3950 0
通用社区登陆组件技术分享(开源)中篇:OAuth 登陆组件流程及组件集成方法
原文http://www.cnblogs.com/cyq1162/archive/2012/11/06/2756247.html   上节内容:通用社区登陆组件技术分享(开源)上篇:OAuth 授权登陆介绍   本节包括以下内容: 1:第三方社区账号登陆的授权流程 2:OAuth2 组件的下载及web.
784 0
Netty4 实战精华EventLoop 和线程模型
简单地说,线程模型指定了操作系统、编程语言、框架或者应用程序的上下文中的线程管理的关键方面。 显而易见地,如何以及何时创建线程将对应用程序代码的执行产生显著的影响,因此开发人员需要理解与不同模型相关的权衡。
1214 0
+关注
上云活动指导
最新阿里云2020代金券 https://www.aliyun.com/minisite/goods?userCode=se6p9xeg
198
文章
3
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载