python发送手机动态验证码

一、准备短信发送平台

首先进入http://user.ihuyi.com/nav/sms.html互亿天线,并且注册,进入首页

注册后会免费送50条消息

注册完后进入验证码通知短信,复制自己的api接口信息,apiid和apikey。并且保存

然后点击右上角的文档中心,进入后下载api文档

下载后为一个压缩包,解压。解压之后进入文件夹打开DEMO文件夹。里面为各种脚本语言实现发送短信的样本

找到python文本,直接打开可能会出现乱码,选择用记事本打开,然后全部copy到py文件中

二、修改py文件

修改的代码如下:

 1 # 接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。
 2 # 账户注册:请通过该地址开通账户http://sms.ihuyi.com/register.html
 3 # 注意事项:
 4 # (1)调试期间,请用默认的模板进行测试,默认模板详见接口文档;
 5 # (2)请使用APIID(查看APIID请登录用户中心->验证码短信->产品总览->APIID)及 APIkey来调用接口;
 6 # (3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写;
 7 
 8 # !/usr/local/bin/python
 9 # -*- coding:utf-8 -*-
10 import http.client
11 import urllib
12 
13 host = "106.ihuyi.com"
14 sms_send_uri = "/webservice/sms.php?method=Submit"
15 
16 # 用户名是登录用户中心->验证码短信->产品总览->APIID
17 account = "xxxxxxx"
18 # 密码 查看密码请登录用户中心->验证码短信->产品总览->APIKEY
19 password = "xxxxxxxxxxxxxxxx"
20 
21 
22 def send_sms(text, mobile):
23     params = urllib.parse.urlencode(
24         {'account': account, 'password': password, 'content': text, 'mobile': mobile, 'format': 'json'})
25     headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
26     conn = http.client.HTTPConnection(host, port=80, timeout=30)
27     conn.request("POST", sms_send_uri, params, headers)
28     response = conn.getresponse()
29     response_str = response.read()
30     conn.close()
31     return response_str
32 
33 
34 if __name__ == '__main__':
35    # 手机号
36     mobile = "13111111111"
37     text = "您的验证码是:121254。请不要把验证码泄露给其他人。"
38 
39     print(send_sms(text, mobile))

三、发送随机验证码

利用python中random发送随机的6位验证码,只需在执行的时候加上生成随机6位数

1 if __name__ == '__main__':
2     x = random.randint(100000,999999) # 生成大于等于100000小于等于999999的一个数
3     print(x)
4     mobile = "xxxxxxx"
5     text = "您的验证码是:" + str(x) + "。请不要把验证码泄露给其他人。" # 将整型x转为字符串型并且发送
6     print(send_sms(text, mobile))

 

posted @ 2018-04-09 10:33  Tynam.Yang  阅读(852)  评论(3编辑  收藏  举报