一、流程分析:
1.用户在项目前端,输入手机号,然后点击【获取验证码】,将手机号发到post到后台。
2.后台验证手机号是否合法,是否已被占用,如果通过验证,则生成验证码,并通过运行脚本,让短信运营商向该手机号,发送该验证码,如果没通过验证,则返回错误信息
3.用户收到短信验证码以后,再次将所有信息post到后台。
4.后台验证各个数据,通过验证则完成实名制认证,如果没通过则返回错误信息。
总结,一次实名验证,需要两次ajax+post 二、对接短信商: 1.在云片网端: 1.注册云片网地址:https://www.yunpian.com/
后台管理控制台页面:其中最重要的信息是APIKEY
2.开发者备案、新增签名、新增模板(模板管理)1.云片网后台的【测试】是没有意义的,所谓的测试,就是直接给你手机发送一条短信,这算哪门子测试?
2.【签名/模板设备】页,【签名管理】点击【新增签名】,到这里会被提醒完善【开发者信息】,认证分为开发者的【公司】和【个人】,现在是开发测试阶段,可以先选择【个人】,【个人】要身份证的照片,提交照片。
3.等待认证完成的短信通知,然后按照后台的操作指引,在【签名管理】页【新增签名】,在【模板管理】页【新增模板】,这些都要等待云片网的审核,审核通过会有短信通知。
4.在云片网后台设置ip白名单,将外网ip加入白名单
获取本机外网ip最简单的方法,就是百度ip
2.在django项目中写发送短信的脚本在 项目目录下 新建utils目录 新建yunpian.py
import requests class YunPian(object): def __init__(self,api_key): self.api_key=api_key self.single_send_url=\'https://sms.yunpian.com/v2/sms/single_send.json\' def send_sms(self,code,mobile): parmas={ \'apikey\':self.api_key, \'mobile\':mobile, \'text\':\'【**网】您的验证码是{code}。如非本人操作,请忽略本短信\'.format(code=code) } #text必须要跟云片后台的模板内容 保持一致,不然发送不出去! r=requests.post(self.single_send_url,data=parmas) print(r) if __name__==\'__main__\': yun_pian=YunPian(\'***************(你的apikey)\') yun_pian.send_sms(\'***(验证码)\',\'*******(手机号)\')