javascript验证用户名不能为空_我用Python给你发了个短信验证码,你也来试试

在互联网时代,为了保证操作的安全性,我们几乎所有的登录、注册等操作都需要用到短信验证码,一是为了防止自己的平台被机器频繁访问,加大服务压力,二是避免非本人操作带来的风险等等。验证码的服务平台有很多,他们的运行机制也都大同小异。本次分享一个对新手开发非常快捷的短信验证码方式。

        准备工作          

我们此次发送短信验证码需要借助第三方平台,第三方平台有很多,例如国外的twilio(https://www.twilio.com/),国内的有榛子云(http://smsow.zhenzikj.com/ ),互亿无线(http://www.ihuyi.com/)以及阿里云平台(https://www.aliyun.com/)等等都是很好的平台。本文以互亿无线平台进行示范。

1、互亿无线账号注册

所有的短信发送平台都需要注册。 互亿无线也不例外,我们先去注册个账号。 点击互亿无线网址(http://www.ihuyi.com/),进入官网进行注册。 点击右上方【注册有礼】。

javascript验证用户名不能为空_我用Python给你发了个短信验证码,你也来试试_第1张图片

注册界面,根据如下注册信息。

javascript验证用户名不能为空_我用Python给你发了个短信验证码,你也来试试_第2张图片

注册完成就可以登录使用了。 点击左侧的【验证码通知短信】,能够看到赠送10条免费短信,并在右侧有【API接口信息 (验证码通知短信)】。

javascript验证用户名不能为空_我用Python给你发了个短信验证码,你也来试试_第3张图片

        工具安装          

本示例采用Python3 和PyCharm工具,并使用第三方【 requests】,需要提前安装。 1、Python3安装 请参考【 人生苦短,一起学Python(四)  Python安装 】 2、PyCharm安装与简单操作 请参考【 人生苦短,一起学Python(七)PyCharm安装 】 3、requests库的查看和安装 a、打开黑屏终端,输入【pip3 list】,查看是否已装【requests库】 b、如果没有安装,在黑屏终端输入【pip3 install requests】,等待安装完成。

        短信验证码发送       

1、代码实现

首先再开始之前,我们需要到【互亿无线】中复制出自己的【API接口信息 (验证码通知短信)】中的【APIID】和【APIKEY】,这是我们发短信的【用户名】和【密码】。

接下来就直接上代码:

#-*- coding:utf-8 -*-#导包import requestsimport random#用户名 查看用户名请登录用户中心->验证码、通知短信->帐户及签名设置->APIIDaccount  = "C85923585"        #这是我的用户名,请更换成自己的#密码 查看密码请登录用户中心->验证码、通知短信->帐户及签名设置->APIKEYpassword = "bd551749710f250d129733ac0f2c6b99"     #这是我的密码,已重置,请更换成自己的#互亿无线请求发送短信验证码的网址,直接复制使用url= r'http://106.ihuyi.com/webservice/sms.php?method=Submit'#这里是要发送给用户的手机号码mobile = "156xxxxxxxx"#随机生成6个数字#现定义一个空字符串用于接收生成的6个数字code = ''#for循环生成数字for i in range(6):#使用random随机生成一个数字    num = random.randint(0, 9)#对数字转换成字符串后进行拼接    code += str(num)#这里是要发送的内容, %s 是要发送的验证码,用于占位,text = "您的验证码是:%s。请不要把验证码泄露给其他人。"%code#通过查看互亿无线提供的技术文档,发送短信验证码需要提供的数据及格式,并用字典存在data中data = {'account': account, 'password' : password, 'content': text, 'mobile':mobile,'format':'json' }#使用requests 发送POST请求给互亿无线,并接收返回的response内容req = requests.post(url=url, data=data)#使用.text读取返回的内容content =req.text#打印出返回的内容print(content)

2、响应分析

运行代码后会响应一串代码。如:

{"code":2,"msg":"\u63d0\u4ea4\u6210\u529f","smsid":"15642066093902217141"}
具体各种响应参数如下:
响应参数code            msg0             提交失败2             提交成功400           非法 ip 访问401           帐号不能为空402           密码不能为空403           手机号码不能为空4030          手机号码已被列入黑名单404           短信内容不能为空405           API ID 或 API KEY 不正确4050          账号被冻结40501         动态密码已过期40502         动态密码校验失败4051          剩余条数不足4052         访问 ip 与备案 ip 不符406          手机号码格式不正确407          短信内容含有敏感字符4070         签名格式不正确4071         没有提交备案模板4072         提交的短信内容与审核通过的模板内容不匹配40722        变量内容超过指定的长度【8】4073         短信内容超出长度限制4074         短信内容包含 emoji 符号4075         签名未通过审核408          发送超限([20]条),已加入黑名单,可登入平台解除4080         同一手机号码同一秒钟之内发送频率不能超过 1 条4082         超出同一手机号一天之内【5】条短信限制4085        同一手机号验证码短信发送超出【5】条

         总  结            

简单的发送短信验证码的功能完成了,初学者可以学着使用函数进行封装,然后直接调用,便于今后直接使用。

推荐阅读:

1、华为的员工为什么愿意艰苦奋斗?

2、如何看待华为鸿蒙系统的发布?有点燃!

3、复习两个月拿到阿里巴巴 offer,你也可以!

4、没在路边改过代码的程序员,不足以谈人生

5、阿里架构总监一次讲透中台架构,13页PPT精华详解,建议收藏!

javascript验证用户名不能为空_我用Python给你发了个短信验证码,你也来试试_第4张图片

javascript验证用户名不能为空_我用Python给你发了个短信验证码,你也来试试_第5张图片

喜欢记得点“在看”

【拓展阅读】5张图彻底理解Python中的浅拷贝与深拷贝

你可能感兴趣的:(python读取短信验证码,复制url直接能跳过验证,应用在阿里云上发送短信失败)