1、短信发送开发指南地址:https://help.aliyun.com/document_detail/55491.html?spm=a2c4g.11186623.6.568.l5zTwH

2、SDK和Demo下载地址:https://help.aliyun.com/document_detail/55359.html?spm=a2c4g.11186623.4.3.IvyHwo

3、总结前两步:开发前先到开发指南按步骤去做一系列前期工作,即:

(1)到阿里云去申请一个accessKey Id和Access Key Secret

(2)在短信服务平台申请短信签名和短信模板

(3)下载对应的Python的SDK和Demo

4、开发工作:

(1)将下载到的SDK和DEMO解压后放到项目相应的地方

(2)运行cmd,cd到上诉的解压文件夹中运行 python setup.py install命令

(3)安装依赖到虚拟环境:

  ① pip install aliyuncli

  ② pip install -Iv aliyun-python-sdk-cms==5.0.0

  ③ aliyuncli configure(配置默认信息):   

Aliyun Access Key ID [None]: 你申请的Access Key Id
Aliyun Access Key Secret [None]: 你申请的Access Key Id 对应的 Access Key Secret
Default Region Id [None]: cn-hangzhou (区域,就填阿里云默认给的就好)
Default output format [None]: json (默认输出格式,按自己的需求来,我选的是json)

  ④ 跑完上面的步骤可能已经有下面两个依赖的,不过跑跑也无妨:

    pip install aliyun-python-sdk-core

    pip install aliyun-python-sdk-cms

  ⑤ pip install top

5、贴一下接口代码,其实和给的demo几乎一样

import sysfrom ali_sms.aliyunsdkdysmsapi.request.v20170525 import SendSmsRequest
from ali_sms.aliyunsdkdysmsapi.request.v20170525 import QuerySendDetailsRequest
from aliyunsdkcore.client import AcsClientfrom aliyunsdkcore.profile import region_providerfrom aliyunsdkcore.http import method_type as MT
from aliyunsdkcore.http import format_type as FT"""
短信业务接口  吾延 2018-07-13
"""# 设置AccessKeyId和AccessKeySecret
acs_client = AcsClient('你申请的access key id', '你申请的access key id 对应的secret','cn-hangzhou')
region_provider.add_endpoint('Dysmsapi', 'cn-hangzhou', 'dysmsapi.aliyuncs.com')def send_sms(business_id, phone_numbers, sign_name, template_code, template_param=None):""""发送短信请求参数:{business_id: 阿里云流水号,可用于查询phone_numbers: 要发送的电话号码列表,多个或一个sign_name: 短信签名名称template_code: 短信模板编码template_param: 模板参数(验证码 或 其他在阿里云申请时设置的短信模板参数)}返回:{{Message: 信息,RequestId: 请求id,Code: 短信发送状态回执码(查询链接:https://help.aliyun.com/document_detail/55323.html?spm=a2c4g.11174283.4.9.fkf6vH )}"""try:reload(sys)sys.setdefaultencoding('utf8')except Exception as err:log.exception(err)return Falsesms_request = SendSmsRequest.SendSmsRequest()sms_request.set_TemplateCode(template_code)if template_param is not None:sms_request.set_TemplateParam(template_param)sms_request.set_OutId(business_id)sms_request.set_SignName(sign_name)sms_request.set_PhoneNumbers(phone_numbers)sms_response = acs_client.do_action_with_exception(sms_request)# print sms_responsereturn sms_responsedef query_send_detail(biz_id, phone_number, page_size, current_page, send_date):""""短信详情查询请求参数{biz_id: 流水号phone_number: 手机号码page_size: 每页大小current_page: 当前页send_date : 发送日期(30天内的记录查询)}返回参数{TotalCountMessageRequestIdSmsSendDetailDTOsCode}"""try:reload(sys)sys.setdefaultencoding('utf8')except Exception as err:log.exception(err)return Falsequery_request = QuerySendDetailsRequest.QuerySendDetailsRequest()query_request.set_PhoneNumber(phone_number)query_request.set_BizId(biz_id)query_request.set_SendDate(send_date)query_request.set_CurrentPage(current_page)query_request.set_PageSize(page_size)# 数据提交方式# queryRequest.set_method(MT.POST)# 数据提交格式# queryRequest.set_accept_format(FT.JSON)# 返回json数据query_response = acs_client.do_action_with_exception(query_request)# TODO 业务处理# print 'query_response'+query_responsereturn query_response

6、调用接口,也直接贴代码了(我的项目返回的都是json数据,看个人开发需要)
  

  

 # 调用生成验证码方法business_id = uuid.uuid1()  # 产生阿里的流水号,必填,用于短信详情的查询verify = str_utils.random_number_verify(5) 生成随机验证码函数params = "{\"code\": " + verify + "}"res = eval(sms_utils.send_sms(business_id, mobile_no, '你申请的签名','你申请的模板', params))  if res['Code'] == 'OK':create_time = time.time()info = {'verify': verify, 'phone': mobile_no, 'create_time': create_time}set_session(request=request, s_key=sms_verify, s_info=info) # set_session是自己写的一个方法,根据项目需求保存到session中,当然建个表来保存就更好了return Response({'code': constants.RESULT_SUCCESS, 'message': u'生成成功,请查收!'})elif res['Code'] == 'isv.BUSINESS_LIMIT_CONTROL':return Response({'code': constants.RESULT_FAIL, 'message': u'次数受限!'})else:return Response({'code': constants.RESULT_FAIL, 'message': u'该号码受限,换个号码试试!'})

至此,配置一个阿里大于短信获取验证码的接口就全部完成了

转载于:https://www.cnblogs.com/wuyan717/p/9318091.html

Python-Django配置阿里大于的短信验证码接口相关推荐

  1. 调用阿里大于发送短信验证码的限制次数

    解决调用阿里大于短信服务发送短信频率次数限制. 由于阿里大于发送短信验证码有次数限制.官方说明具体如下: 短信验证码 :使用同一个签名,对同一个手机号码发送短信验证码,1条/分钟,5条/小时,10条/ ...

  2. 【Python web 开发】获取手机短信验证码接口(1)

    首先我之前是有定义一张表专门用来记录手机验证码的 第二步: 我们来写视图函数 viewset 思路逻辑:1.验证前端传过来的手机号是否已注册  2.验证手机号是否正确(正则表达式) 3.获取验证码的频 ...

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

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

  4. 通过阿里大于发送短信,新手入门指导手册

    文章目录 阿里大于发短信新手入门 1. 首先阿里云官网注册 2.开通短信服务 第一步: 如果找不到短信服务菜单,请根据下图操作: 第二步:在弹出的搜索框里面,输入短信服务 第三步:根据搜索的短信服务, ...

  5. 通过阿里大于发送短信

    使用场景 登录验证时使用 使用手机号登录时使用 支付时,安全校验时使用 比如: 银行转账支付, 电商网站订单支付等 企业推广时使用,比如: 企业群发短信 当然还有其它场景 一..首先打开阿里云官网注册 ...

  6. 使用阿里云发送短信验证码

    目录 一.用户注册登录流程 二.使用阿里云发送短信验证码 ⭐生成密钥 ⭐将密钥配置到项目中 ⚪新建properties文件并填入相应信息 ⚪pom配置 ​⚪ 测试代码 ⚪添加签名 ​⚪添加短信发送的模 ...

  7. api调用 python 验证码_Python短信验证码接口调用demo

    基于创蓝253云通讯品台的Python短信验证码接口调用demo !/usr/local/bin/python -- coding:utf-8 -- Author: jacky Time: 14-2- ...

  8. Httpclient调用短信验证码接口

    一.简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议.Ht ...

  9. php短信接口加密_PHP短信接口、PHP短信验证码接口源码

    PHP短信接口.PHP短信验证码接口源码 时间:2016-06-13 11:53 来源:原创 作者:admin PHP短信接口文档源码,PHP发短信接口,PHP在线发短信,PHP微信发短信接口 /* ...

最新文章

  1. 链表-回文链表(复制+双指针法)
  2. EIGRP 实验2: 邻居关系
  3. Django报错:mysql ImproperlyConfigured: mysqlclient 1.3.13 or newer is required, you have 0.9.3的解决办法
  4. 滚动图片广告_张韶涵霸屏兴发广场,户外LED大屏广告:投放价值在哪?
  5. [C++STL]C++实现unordermap容器和unorderset容器
  6. 在线生成文本图片 CFC函数计算版
  7. 此次边路调整系统推荐射手走哪路_王者荣耀地图重大对称改动,终于能射手对射手,上单对上单了...
  8. 线性代数【14】线性变换 linear transformation
  9. java junit
  10. mysql 登录默认实例_【MySQL案例】mysql本机登录-S失灵_mysql
  11. 线性查找算法(BFPRT)
  12. DLL Injection and Hooking
  13. python——xlwt
  14. Spring boot视频播放(解决MP4大文件无法播放),整合ffmpeg,用m3u8切片播放。
  15. app每月签到功能简单实现
  16. 100例(p019—p021)
  17. 测验1: Python快速入门 (第2周)
  18. 虚拟机架设传奇3服务器,WIN8安装虚拟机玩传奇3教程-转
  19. 2019年11月20日笔记
  20. 快速安装YouCompleteMe自动补全插件

热门文章

  1. 进击的Waymo,掘进无人驾驶深水区
  2. 一文详解循环神经网络的基本概念(代码版)
  3. 512 个 AI 职位、11 万美元年薪,盘点 2018 最佳人工智能公司
  4. 硬货 | 一文解读完五篇重磅ACL2017 NLP论文
  5. 我要狠狠的反驳“公司禁止使用Lombok”的观点
  6. 浅谈树形结构的特性和应用(上):多叉树,红黑树,堆,Trie树,B树,B+树......
  7. Spring AOP是什么?你都拿它做什么?
  8. 剑指offer_第3题_从尾到头打印链表
  9. 电子科大博士生杨超火了!2年实现Science+Nature一作双杀
  10. 导师对帮助研究生顺利完成学业提出了20条劝告:第一,不要有度假休息的打算.....