短信验证码方案
1.阿里云短信服务
文档参考: https://help.aliyun.com/document_detail/112147.html?spm=a2c4g.11174283.6.645.63ab2c42VRxwso
1.1 创建AccessKey
AccessKey ID和AccessKey Secret是您访问阿里云API的密钥,具有该账户完全的权限。创建之后,会生成 AccessKeyID和Access Key Secret两部分信息。
AccessKey ID:
Access Key Secret:
1.2 安装阿里云SDK核心库
# 在工程项目中阿里云SDK核心库
pip install aliyun-python-sdk-core
1.3 申请阿里云短信签名和短信模板
已申请的签名与模板
类型 | 名称(或code)一 | 名称(或code)二 |
---|---|---|
签名 | ||
模板 |
1.4 短信发送-Python
注意: 先安装阿里云SDK库
#!/usr/bin/env python
#coding=utf-8
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
client = AcsClient('<AccessKey ID>', '<Access Key Secret>', 'cn-hangzhou')
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('RegionId', "cn-hangzhou")
request.add_query_param('PhoneNumbers', "15114855862")
request.add_query_param('SignName', "签名名称")
request.add_query_param('TemplateCode', "模版CODE")
request.add_query_param('TemplateParam', "{\"code\":\"1345\"}")
response = client.do_action_with_exception(request)
# python2: print(response)
print(str(response, encoding = 'utf-8'))