最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

教你用Python實現(xiàn)短信驗證碼的發(fā)送

 更新時間:2022年12月06日 11:37:26   作者:螢火蟲的小尾巴  
當(dāng)我們在注冊一個網(wǎng)頁時,有的網(wǎng)頁會讓必須要短信驗證、郵箱驗證,才可以進行賬號的注冊,下面這篇文章主要給大家介紹了關(guān)于用Python實現(xiàn)短信驗證碼發(fā)送的相關(guān)資料,需要的朋友可以參考下

1. 短信API平臺

使用的短信API平臺為:容聯(lián)云(https://www.yuntongxun.com/)

開發(fā)者文檔:http://doc.yuntongxun.com/pe/5a531a353b8496dd00dcdfe2

2. 使用官方提供的SDK實現(xiàn)短信發(fā)送

Python SDK 文檔

Python SDK GitHub地址

2.1 安裝SDK

pip install ronglian-sms-sdk -i https://pypi.tuna.tsinghua.edu.cn/simple

2.2 使用官方的測試用例進行測試

from ronglian_sms_sdk import SmsSDK

# accId = '容聯(lián)云通訊分配的主賬號ID'
accId = '...'
# accToken = '容聯(lián)云通訊分配的主賬號TOKEN'
accToken = '...'
# appId = '容聯(lián)云通訊分配的應(yīng)用ID'
appId = '...'


# 發(fā)送短信驗證碼
def send_message():
	# 初始化獲取發(fā)送短信的對象
    sdk = SmsSDK(accId, accToken, appId)
    # tid = '容聯(lián)云通訊平臺創(chuàng)建的模板' 默認模板的編號為1
    tid = '1'  # tid的數(shù)據(jù)類型為str
    # mobile = '手機號1,手機號2' 多個手機號在字符串中使用 , 進行分隔
    mobile = '...'
    # 第一個參數(shù)為驗證碼 第二個參數(shù)為驗證碼的有效時間(對于短信模板1)
    datas = ('123456', 5)
    # 發(fā)送短信并接收返回結(jié)果
    resp = sdk.sendMessage(tid, mobile, datas)
    print(resp)


# 測試
if __name__ == '__main__':
    send_message()

返回的結(jié)果為json類型的字符串。

2.3 參數(shù)及其參數(shù)的查看

初始化方法

調(diào)用發(fā)送短信方法

短信模板:

默認短信模板的tid為1

至于其他的模板

發(fā)送手機號:

如果沒有認證,測試環(huán)境下需要設(shè)置短信能夠發(fā)送的測試手機號

響應(yīng)參數(shù)

返回的為json類型的字符串

3. 單例模式實現(xiàn)短信發(fā)送

由于每次要發(fā)送短信都需要向?qū)嵗粋€對象,當(dāng)發(fā)送短信的并發(fā)數(shù)太大時,會對內(nèi)存造成較大的壓力,所以修改為采用單例模式實現(xiàn)。

from ronglian_sms_sdk import SmsSDK
import json

# accId = '容聯(lián)云通訊分配的主賬號ID'
accId = '...'
# accToken = '容聯(lián)云通訊分配的主賬號TOKEN'
accToken = '...'
# appId = '容聯(lián)云通訊分配的應(yīng)用ID'
appId = '...'

class SendSmsVerificationCode:
    """發(fā)送短信驗證碼的單例類"""

    def __new__(cls, *args, **kwargs):
        """
        發(fā)送短信驗證碼單例類的初始化方法
        :return: 返回一個發(fā)送短信驗證碼的對象
        """
        # 判斷類中發(fā)送短信驗證碼的對象 _instance 是否已經(jīng)存在
        # 如果不存在, 創(chuàng)建一個發(fā)送短信驗證碼的對象, 并將其作為類屬性
        if not hasattr(cls, '_instance'):
            # 創(chuàng)建發(fā)送短信驗證碼的對象
            cls._instance = super(SendSmsVerificationCode, cls).__new__(cls, *args, **kwargs)
            # 創(chuàng)建SmsSDK對象作為 _instance 的對象屬性
            cls._instance.sdk = SmsSDK(accId, accToken, appId)
        # 如果存在, 返回發(fā)送短信驗證碼的對象
        return cls._instance

    def send_message(self, mobile, datas, tid='1'):
        """
        發(fā)送短信的方法
        @params mobile 字符串類型  mobile = '手機號1,手機號2'
        @params tid tid = '容聯(lián)云通訊平臺創(chuàng)建的模板' 默認模板的編號為1
        @params datas 元組類型  第一個參數(shù)為驗證碼 第二個參數(shù)為驗證碼的有效時間(對于短信模板1)
        :return: 返回發(fā)送短信后的響應(yīng)參數(shù)
        """
        # 發(fā)送短信
        resp = self.sdk.sendMessage(tid, mobile, datas)
        print(json.loads(resp), type(json.loads(resp)))
        return resp

# 測試
if __name__ == '__main__':
    sendSmsVerificationCode1 = SendSmsVerificationCode()
    sendSmsVerificationCode2 = SendSmsVerificationCode()
    sendSmsVerificationCode3 = SendSmsVerificationCode()
    print(sendSmsVerificationCode1)
    print(sendSmsVerificationCode2)
    print(sendSmsVerificationCode3)
    res = sendSmsVerificationCode1.send_message('...', ('123456', 5), '1')
    print(res)

總結(jié)

到此這篇關(guān)于用Python實現(xiàn)短信驗證碼發(fā)送的文章就介紹到這了,更多相關(guān)Python短信驗證碼發(fā)送內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python爬取微信公眾號文章圖片并轉(zhuǎn)為PDF

    python爬取微信公眾號文章圖片并轉(zhuǎn)為PDF

    大家好,本篇文章主要講的是python爬取微信公眾號文章圖片并轉(zhuǎn)為PDF,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • 解析Python 偏函數(shù)用法全方位實現(xiàn)

    解析Python 偏函數(shù)用法全方位實現(xiàn)

    這篇文章主要介紹了解析Python 偏函數(shù)用法全方位實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python時間處理模塊Time和DateTime

    Python時間處理模塊Time和DateTime

    這篇文章主要為大家介紹了Python時間處理模塊Time和DateTime使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 詳解pycharm連接不上mysql數(shù)據(jù)庫的解決辦法

    詳解pycharm連接不上mysql數(shù)據(jù)庫的解決辦法

    這篇文章主要介紹了詳解pycharm連接不上mysql數(shù)據(jù)庫的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 利用Python小工具實現(xiàn)3秒鐘將視頻轉(zhuǎn)換為音頻

    利用Python小工具實現(xiàn)3秒鐘將視頻轉(zhuǎn)換為音頻

    這篇文章主要介紹了利用Python小工具實現(xiàn) 3秒鐘將視頻轉(zhuǎn)換為音頻效果,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • python用opencv將標(biāo)注提取畫框到對應(yīng)的圖像中

    python用opencv將標(biāo)注提取畫框到對應(yīng)的圖像中

    這篇文章主要介紹了python用opencv將標(biāo)注提取畫框到對應(yīng)的圖像中,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • python密碼學(xué)一次性密碼的實現(xiàn)

    python密碼學(xué)一次性密碼的實現(xiàn)

    這篇文章主要為大家介紹了python密碼學(xué)一次性密碼的實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • python關(guān)于第三方日志的QA記錄詳解

    python關(guān)于第三方日志的QA記錄詳解

    這篇文章主要為大家介紹了python關(guān)于第三方日志的QA記錄詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 教你用Python尋找重復(fù)文件并刪除的腳本寫法

    教你用Python尋找重復(fù)文件并刪除的腳本寫法

    這篇文章主要介紹了如何用Python尋找重復(fù)文件并刪除,該腳本主要包括diskwalk,chechsum,find_dupes,delete模塊,其中diskwalk模塊是遍歷文件的,給定路徑,遍歷輸出該路徑下的所有文件,需要的朋友可以參考下
    2022-01-01
  • Python內(nèi)置函數(shù)issubclass()的具體使用

    Python內(nèi)置函數(shù)issubclass()的具體使用

    issubclass()是Python中一個非常有用的內(nèi)置函數(shù),它提供了一種簡單的方式來檢查類的繼承關(guān)系,本文主要介紹了Python內(nèi)置函數(shù)issubclass()的具體使用,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2007-03-03

最新評論

小金县| 南召县| 延津县| 绵阳市| 会泽县| 江口县| 德钦县| 保康县| 浙江省| 汉阴县| 长汀县| 吉林省| 宜章县| 云霄县| 台安县| 天镇县| 章丘市| 吴堡县| 泸西县| 海伦市| 安龙县| 民丰县| 平陆县| 大埔县| 汕头市| 和田市| 舞钢市| 富源县| 岳阳市| 舟曲县| 巩留县| 东明县| 都江堰市| 松溪县| 肇源县| 阳高县| 霸州市| 巴彦淖尔市| 武汉市| 郯城县| 德清县|