一、准备短信发送平台
首先进入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))