python使用阿里云短信服务发送验证码 |
您所在的位置:网站首页 › 树莓派向手机发短信 › python使用阿里云短信服务发送验证码 |
一、依赖安装和下载demo
pip install aliyun-python-sdk-core-v3
安装好开发需要的依赖后,可在阿里云服务平台下载Python对应的sdk: https://help.aliyun.com/document_detail/55359.html?spm=a2c4g.11186623.4.4.14b319d9zwFjV3 二、建立demo 下载完毕后,完整目录: 只需要拿到下面的几个文件即可: 在const文件里进行配置发短信需要的信息, keyId, key_secret, 签名,以及模板代码: # ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换 ACCESS_KEY_ID = "" ACCESS_KEY_SECRET = "" ALIYUN_SMS_SIGN_NAME = "" SMS_CODE = ""生成6位随机数当做验证码: import random num = random.randrange(100000, 999999) params = "{'code':123456}" params = params.replace("123456", str(num))设置好参数后,传到 send_sms()方法里: # -*- coding: utf-8 -*- import sys from importlib import reload from edu_saas_app.send_sms.aliyunsdkdysmsapi.request.v20170525 import SendSmsRequest from aliyunsdkcore.client import AcsClient import uuid from aliyunsdkcore.profile import region_provider from edu_saas_app.send_sms import const import random """ 短信业务调用接口示例,版本号:v20170525 Created on 2017-06-12 """ try: reload(sys) except NameError: pass except Exception as err: raise err # 注意:不要更改 REGION = "cn-hangzhou" PRODUCT_NAME = "Dysmsapi" DOMAIN = "dysmsapi.aliyuncs.com" acs_client = AcsClient(const.ACCESS_KEY_ID, const.ACCESS_KEY_SECRET, REGION) region_provider.add_endpoint(PRODUCT_NAME, REGION, DOMAIN) def send_sms(business_id, phone_numbers, sign_name, template_code, template_param=None): smsRequest = SendSmsRequest.SendSmsRequest() # 申请的短信模板编码,必填 smsRequest.set_TemplateCode(template_code) # 短信模板变量参数 if template_param is not None: smsRequest.set_TemplateParam(template_param) # 设置业务请求流水号,必填。 smsRequest.set_OutId(business_id) # 短信签名 smsRequest.set_SignName(sign_name) # 数据提交方式 # smsRequest.set_method(MT.POST) # 数据提交格式 # smsRequest.set_accept_format(FT.JSON) # 短信发送的号码列表,必填。 smsRequest.set_PhoneNumbers(phone_numbers) # 调用短信发送接口,返回json smsResponse = acs_client.do_action_with_exception(smsRequest) print(smsResponse) return smsResponse if __name__ == '__main__': __business_id = uuid.uuid1() # print(__business_id) num = random.randrange(100000, 999999) params = "{'code':123456}" params = params.replace("123456", str(num)) # params = 123456 # params = u'{"name":"wqb","code":"12345678","address":"bz","phone":"13000000000"}' print(send_sms(__business_id, "电话号码", "签名名称", "短信的模板代码", params))实现效果如下: 发送的验证码,即为生成的随机码。 github地址: GitHub - zzb15997937197/django-study: django框架学习 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |