欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在python中實(shí)現(xiàn)發(fā)送短信功能

 更新時(shí)間:2024年04月23日 09:36:59   作者:景天科技苑  
工作中我們經(jīng)常會(huì)用到發(fā)短信的需求,那么如何在python代碼中實(shí)現(xiàn)發(fā)短息你的需求呢,本文我們就一起深入探討下,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下

Python發(fā)送短信

Hello,大家好!工作中我們經(jīng)常會(huì)用到發(fā)短信的需求,那么如何在python代碼中實(shí)現(xiàn)發(fā)短息你的需求呢,本文我們就一起深入探討下。

1.1 騰訊云發(fā)送短信準(zhǔn)備

發(fā)送短信,需要借助于第三方短信短信平臺(tái),收費(fèi),免費(fèi)試用

-騰訊云短信:https://cloud.tencent.com/act/pro/csms

-阿里短信:https://cn.aliyun.com/product/sms?from_alibabacloud=

-容聯(lián)云短信:https://www.yuntongxun.com/sms/note-inform

我們以騰訊云短信為例–》微信掃碼登錄
-https://console.cloud.tencent.com/smsv2

1.2 按步驟操作

01 創(chuàng)建短信簽名

-備案過(guò)后的網(wǎng)站,或小程序,或app
-我們使用公眾號(hào)---》我們自己操作即可---》注冊(cè)申請(qǐng)公眾號(hào)
-別人關(guān)注你們--》你們就可以發(fā)送文章      
 https://mp.weixin.qq.com/cgi-bin/loginpage 
-填入資料:審核             

在這里插入圖片描述

選擇用公眾號(hào)簽名

在這里插入圖片描述

注意,簽名內(nèi)容,是自己的公眾號(hào)名稱+公眾號(hào)

資料填完,提交申請(qǐng),大約兩小時(shí)審核完畢

在這里插入圖片描述

審核完畢

在這里插入圖片描述

02 創(chuàng)建短信正文模板–發(fā)送短信模板

-以后發(fā)送短信,就用這個(gè)模版發(fā)送

03 查看審核結(jié)果

04 發(fā)送短信(python 發(fā)送)

1.3 官方代碼測(cè)試

搜短信文檔,查看官方使用說(shuō)明

在這里插入圖片描述

1 按照官方文檔開(kāi)發(fā)

-API:接口
    -使用requests模塊,模擬發(fā)送http請(qǐng)求,攜帶要攜帶的參數(shù)就可以完成操作
    -麻煩:好多參數(shù),放在請(qǐng)求地址中,請(qǐng)求體中,請(qǐng)求頭中,有些亂--》需要有一定編程能力
-SDK:官方基于python封裝了一些包
    -導(dǎo)入包,實(shí)例化得到對(duì)象,執(zhí)行某個(gè)方法,就能完成操作
    -好處:簡(jiǎn)單便捷
    -不好處:有的公司可能沒(méi)提供python的sdk
        -java
        -php
        -go
        -python

2 官方sdk

https://cloud.tencent.com/document/product/382/43196

在這里插入圖片描述

我們選擇pip安裝,點(diǎn)進(jìn)去查看

在這里插入圖片描述

在這里插入圖片描述

3 安裝

pip install tencentcloud-sdk-python

在這里插入圖片描述

我們使用官方python SDK發(fā)送短息你的代碼,直接拷過(guò)來(lái)用

在這里插入圖片描述

我們需要修改的地方

在這里插入圖片描述

根據(jù)上面網(wǎng)址,訪問(wèn)進(jìn)去設(shè)置秘鑰

在這里插入圖片描述

點(diǎn)擊新建秘鑰,會(huì)生成 secretid和secretkey

在這里插入圖片描述

勾選知曉,點(diǎn)確定就可以了

在這里插入圖片描述

將對(duì)應(yīng)的secretid和secretkey放進(jìn)代碼中

4 完整代碼以及解析

# -*- coding: utf-8 -*-
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
# 導(dǎo)入對(duì)應(yīng)產(chǎn)品模塊的client models。
from tencentcloud.sms.v20210111 import sms_client, models

# 導(dǎo)入可選配置類
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
try:
    # 必要步驟:
    # 實(shí)例化一個(gè)認(rèn)證對(duì)象,入?yún)⑿枰獋魅腧v訊云賬戶密鑰對(duì)secretId,secretKey。
    # 這里采用的是從環(huán)境變量讀取的方式,需要在環(huán)境變量中先設(shè)置這兩個(gè)值。
    # 您也可以直接在代碼中寫死密鑰對(duì),但是小心不要將代碼復(fù)制、上傳或者分享給他人,
    # 以免泄露密鑰對(duì)危及您的財(cái)產(chǎn)安全。
    # SecretId、SecretKey 查詢: https://console.cloud.tencent.com/cam/capi
    #需要修改的地方
    cred = credential.Credential("AKIDJbllZEoWQLJDc7seacegfinu9QetGa2q", "twJkM91xvkW9ulfebXSxgQKGC4xtuz7Y")
    # cred = credential.Credential(
    #     os.environ.get(""),
    #     os.environ.get("")
    # )

    # 實(shí)例化一個(gè)http選項(xiàng),可選的,沒(méi)有特殊需求可以跳過(guò)。
    httpProfile = HttpProfile()
    # 如果需要指定proxy訪問(wèn)接口,可以按照如下方式初始化hp(無(wú)需要直接忽略)
    # httpProfile = HttpProfile(proxy="http://用戶名:密碼@代理IP:代理端口")
    httpProfile.reqMethod = "POST"  # post請(qǐng)求(默認(rèn)為post請(qǐng)求)
    httpProfile.reqTimeout = 30    # 請(qǐng)求超時(shí)時(shí)間,單位為秒(默認(rèn)60秒)
    httpProfile.endpoint = "sms.tencentcloudapi.com"  # 指定接入地域域名(默認(rèn)就近接入)

    # 非必要步驟:
    # 實(shí)例化一個(gè)客戶端配置對(duì)象,可以指定超時(shí)時(shí)間等配置
    clientProfile = ClientProfile()
    clientProfile.signMethod = "TC3-HMAC-SHA256"  # 指定簽名算法
    clientProfile.language = "en-US"
    clientProfile.httpProfile = httpProfile

    # 實(shí)例化要請(qǐng)求產(chǎn)品(以sms為例)的client對(duì)象
    # 第二個(gè)參數(shù)是地域信息,可以直接填寫字符串a(chǎn)p-guangzhou,支持的地域列表參考 https://cloud.tencent.com/document/api/382/52071#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8
    client = sms_client.SmsClient(cred, "ap-guangzhou", clientProfile)

    # 實(shí)例化一個(gè)請(qǐng)求對(duì)象,根據(jù)調(diào)用的接口和實(shí)際情況,可以進(jìn)一步設(shè)置請(qǐng)求參數(shù)
    # 您可以直接查詢SDK源碼確定SendSmsRequest有哪些屬性可以設(shè)置
    # 屬性可能是基本類型,也可能引用了另一個(gè)數(shù)據(jù)結(jié)構(gòu)
    # 推薦使用IDE進(jìn)行開(kāi)發(fā),可以方便的跳轉(zhuǎn)查閱各個(gè)接口和數(shù)據(jù)結(jié)構(gòu)的文檔說(shuō)明
    req = models.SendSmsRequest()

    # 基本類型的設(shè)置:
    # SDK采用的是指針風(fēng)格指定參數(shù),即使對(duì)于基本類型您也需要用指針來(lái)對(duì)參數(shù)賦值。
    # SDK提供對(duì)基本類型的指針引用封裝函數(shù)
    # 幫助鏈接:
    # 短信控制臺(tái): https://console.cloud.tencent.com/smsv2
    # 騰訊云短信小助手: https://cloud.tencent.com/document/product/382/3773#.E6.8A.80.E6.9C.AF.E4.BA.A4.E6.B5.81

    # 短信應(yīng)用ID: 短信SdkAppId在 [短信控制臺(tái)] 添加應(yīng)用后生成的實(shí)際SdkAppId,示例如1400006666
    # 應(yīng)用 ID 可前往 [短信控制臺(tái)](https://console.cloud.tencent.com/smsv2/app-manage) 查看
    #需要修改的地方,應(yīng)用ID
    req.SmsSdkAppId = "140*****67"
    # 短信簽名內(nèi)容: 使用 UTF-8 編碼,必須填寫已審核通過(guò)的簽名
    # 簽名信息可前往 [國(guó)內(nèi)短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [國(guó)際/港澳臺(tái)短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的簽名管理查看
    #需要修改的地方,簽名
    req.SignName = "景天科技苑公眾號(hào)"
    # 模板 ID: 必須填寫已審核通過(guò)的模板 ID
    # 模板 ID 可前往 [國(guó)內(nèi)短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [國(guó)際/港澳臺(tái)短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看
    #需要修改的地方,模板id號(hào)。模板需要申請(qǐng),審核成功后拿到模板ID號(hào)
    req.TemplateId = "2134771"
    # 模板參數(shù): 模板參數(shù)的個(gè)數(shù)需要與 TemplateId 對(duì)應(yīng)模板的變量個(gè)數(shù)保持一致,,若無(wú)模板參數(shù),則設(shè)置為空
    #需要修改的地方,短信模板參數(shù),短信模板里面設(shè)置了幾個(gè)變量,就填寫幾個(gè)參數(shù)
    #我們模板中第一個(gè)參數(shù)是驗(yàn)證碼,第二個(gè)是過(guò)期時(shí)間
    req.TemplateParamSet = ["598626",'5']
    # 下發(fā)手機(jī)號(hào)碼,采用 E.164 標(biāo)準(zhǔn),+[國(guó)家或地區(qū)碼][手機(jī)號(hào)]
    # 示例如:+8613711112222, 其中前面有一個(gè)+號(hào) ,86為國(guó)家碼,13711112222為手機(jī)號(hào),最多不要超過(guò)200個(gè)手機(jī)號(hào)
    req.PhoneNumberSet = ["+861*********5",'+861*********8']

    #下面信息一般不用改了
    # 用戶的 session 內(nèi)容(無(wú)需要可忽略): 可以攜帶用戶側(cè) ID 等上下文信息,server 會(huì)原樣返回
    req.SessionContext = ""
    # 短信碼號(hào)擴(kuò)展號(hào)(無(wú)需要可忽略): 默認(rèn)未開(kāi)通,如需開(kāi)通請(qǐng)聯(lián)系 [騰訊云短信小助手]
    req.ExtendCode = ""
    # 國(guó)內(nèi)短信無(wú)需填寫該項(xiàng);國(guó)際/港澳臺(tái)短信已申請(qǐng)獨(dú)立 SenderId 需要填寫該字段,默認(rèn)使用公共 SenderId,無(wú)需填寫該字段。注:月度使用量達(dá)到指定量級(jí)可申請(qǐng)獨(dú)立 SenderId 使用,詳情請(qǐng)聯(lián)系 [騰訊云短信小助手](https://cloud.tencent.com/document/product/382/3773#.E6.8A.80.E6.9C.AF.E4.BA.A4.E6.B5.81)。
    req.SenderId = ""

    resp = client.SendSms(req)

    # 輸出json格式的字符串回包,打印發(fā)完請(qǐng)求后,服務(wù)端返回
    print(resp.to_json_string(indent=2))

    # 當(dāng)出現(xiàn)以下錯(cuò)誤碼時(shí),快速解決方案參考
    # - [FailedOperation.SignatureIncorrectOrUnapproved](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Afailedoperation.signatureincorrectorunapproved-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)
    # - [FailedOperation.TemplateIncorrectOrUnapproved](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Afailedoperation.templateincorrectorunapproved-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)
    # - [UnauthorizedOperation.SmsSdkAppIdVerifyFail](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Aunauthorizedoperation.smssdkappidverifyfail-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)
    # - [UnsupportedOperation.ContainDomesticAndInternationalPhoneNumber](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Aunsupportedoperation.containdomesticandinternationalphonenumber-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)
    # - 更多錯(cuò)誤,可咨詢[騰訊云助手](https://tccc.qcloud.com/web/im/index.html#/chat?webAppId=8fa15978f85cb41f7e2ea36920cb3ae1&title=Sms)

except TencentCloudSDKException as err:
    print(err)

5 查看收到的短信

在這里插入圖片描述

1.4 總結(jié)

本文詳細(xì)闡述了如何通過(guò)python代碼來(lái)發(fā)送短信的詳細(xì)流程,相信大家閱讀完都能實(shí)現(xiàn)發(fā)短信功能,如有疑問(wèn)也可以留言

以上就是在python中實(shí)現(xiàn)發(fā)送短信功能的詳細(xì)內(nèi)容,更多關(guān)于python發(fā)送短信的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論