python傳送手機動態驗證碼

Tynam.Yang發表於2018-04-09

一、準備簡訊傳送平臺

首先進入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))

 

相關文章