前言
在当今这个网络如此发达的时代,手机已经成为了必不可少的随身物品,而,普通的单因子登录已经不是百分百安全的了,很容易被暴力破解,所以,双因子、三因子这些认证方式,已经从“你有什么”,变成了“你是谁”,从而让账户变得更加的安全,所以,短信验证码已经成为了必不可少的东西,今天,带来阿里云+python来发送短信。
1.注册阿里云
2.创建AccessKey和Access Key Secret

3.获取签名名称和模板code

4.安装依赖
1.安装pythonsdk
# 安装阿里云的相关依赖
# python2执行此命令
pip install aliyun-python-sdk-core
# python3执行此命令
pip install aliyun-python-sdk-core-v3
2.安装SDK
下载地址在这里,解压之后,进入根目录执行命令: python setup.py install #如果为python3,请执行:python3 setup.py install
3.安装api依赖
pip install aliyun-python-sdk-kms
pip install aliyun-python-sdk-dysmsapi
5.写一个工具函数
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
# 用户AccessKey
ACCESS_KEY_ID = ""
# Access Key Secret
ACCESS_KEY_SECRET = ""
class SMS:
def __init__(self,signName,templateCode):
self.signName = signName
self.templateCode = templateCode
self.client = client = AcsClient(ACCESS_KEY_ID,ACCESS_KEY_SECRET,'cn-hangzhou')
def send(self, phone_numbers, template_param):
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', phone_numbers)
request.add_query_param('SignName', self.signName)
request.add_query_param('TemplateCode', self.templateCode)
request.add_query_param('TemplateParam', template_param)
response = self.client.do_action_with_exception(request)
return response
6.调用此函数
from random import randint
class Aliyun_Sms(APIView):
def get(self,request):
# 生成验证码
params = "{'code':%d}"%(randint(1000,100000))
para = request.GET.get('phone_numbers')
sms = SMS("模板名称"," 模版CODE")
res = sms.send(phone,params)
return HttpResponse(res)
- Post link: https://www.godhearing.cn/python-fa-song-a-li-yun-duan-xin/
- Copyright Notice: All articles in this blog are licensed under unless otherwise stated.