<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【python】如何通過python來發(fā)送短信

          共 9483字,需瀏覽 19分鐘

           ·

          2024-05-06 10:21


          文章目錄

          Python發(fā)送短信

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

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

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

          • 騰訊云短信: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)建短信簽名

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

          選擇用公眾號簽名

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

          +公眾號 資料填完,提交申請,大約兩小時審核完畢

          審核完畢

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

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

          03 查看審核結(jié)果

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

          1.3 官方代碼測試

          搜短信文檔,查看官方使用說明

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

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

          2 官方sdk

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

          我們選擇pip安裝,點進去查看

          3 安裝

          pip install  tencentcloud-sdk-python

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

          我們需要修改的地方

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

          點擊新建秘鑰,會生成 secretid和secretkey

          勾選知曉,點確定就可以了

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

          4 完整代碼以及解析

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

          # 導入可選配置類
          from tencentcloud.common.profile.client_profile import ClientProfile
          from tencentcloud.common.profile.http_profile import HttpProfile
          try:
              # 必要步驟:
              # 實例化一個認證對象,入?yún)⑿枰獋魅腧v訊云賬戶密鑰對secretId,secretKey。
              # 這里采用的是從環(huán)境變量讀取的方式,需要在環(huán)境變量中先設(shè)置這兩個值。
              # 您也可以直接在代碼中寫死密鑰對,但是小心不要將代碼復(fù)制、上傳或者分享給他人,
              # 以免泄露密鑰對危及您的財產(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("")
              # )

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

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

              # 實例化要請求產(chǎn)品(以sms為例)的client對象
              # 第二個參數(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)

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

              # 基本類型的設(shè)置:
              # SDK采用的是指針風格指定參數(shù),即使對于基本類型您也需要用指針來對參數(shù)賦值。
              # SDK提供對基本類型的指針引用封裝函數(shù)
              # 幫助鏈接:
              # 短信控制臺: 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在 [短信控制臺] 添加應(yīng)用后生成的實際SdkAppId,示例如1400006666
              # 應(yīng)用 ID 可前往 [短信控制臺](https://console.cloud.tencent.com/smsv2/app-manage) 查看
              #需要修改的地方,應(yīng)用ID
              req.SmsSdkAppId = "140*****67"
              # 短信簽名內(nèi)容: 使用 UTF-8 編碼,必須填寫已審核通過的簽名
              # 簽名信息可前往 [國內(nèi)短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [國際/港澳臺短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的簽名管理查看
              #需要修改的地方,簽名
              req.SignName = "景天科技苑公眾號"
              # 模板 ID: 必須填寫已審核通過的模板 ID
              # 模板 ID 可前往 [國內(nèi)短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [國際/港澳臺短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看
              #需要修改的地方,模板id號。模板需要申請,審核成功后拿到模板ID號
              req.TemplateId = "2134771"
              # 模板參數(shù): 模板參數(shù)的個數(shù)需要與 TemplateId 對應(yīng)模板的變量個數(shù)保持一致,,若無模板參數(shù),則設(shè)置為空
              #需要修改的地方,短信模板參數(shù),短信模板里面設(shè)置了幾個變量,就填寫幾個參數(shù)
              #我們模板中第一個參數(shù)是驗證碼,第二個是過期時間
              req.TemplateParamSet = ["598626",'5']
              # 下發(fā)手機號碼,采用 E.164 標準,+[國家或地區(qū)碼][手機號]
              # 示例如:+8613711112222, 其中前面有一個+號 ,86為國家碼,13711112222為手機號,最多不要超過200個手機號
              req.PhoneNumberSet = ["+861*********5",'+861*********8']

              #下面信息一般不用改了
              # 用戶的 session 內(nèi)容(無需要可忽略): 可以攜帶用戶側(cè) ID 等上下文信息,server 會原樣返回
              req.SessionContext = ""
              # 短信碼號擴展號(無需要可忽略): 默認未開通,如需開通請聯(lián)系 [騰訊云短信小助手]
              req.ExtendCode = ""
              # 國內(nèi)短信無需填寫該項;國際/港澳臺短信已申請獨立 SenderId 需要填寫該字段,默認使用公共 SenderId,無需填寫該字段。注:月度使用量達到指定量級可申請獨立 SenderId 使用,詳情請聯(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ā)完請求后,服務(wù)端返回
              print(resp.to_json_string(indent=2))

              # 當出現(xiàn)以下錯誤碼時,快速解決方案參考
              # - [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)
              # - 更多錯誤,可咨詢[騰訊云助手](https://tccc.qcloud.com/web/im/index.html#/chat?webAppId=8fa15978f85cb41f7e2ea36920cb3ae1&amp;title=Sms)

          except TencentCloudSDKException as err:
              print(err)

          5 查看收到的短信

          1.4 總結(jié)

          本文詳細闡述了如何通過python代碼來發(fā)送短信的詳細流程,相信大家閱讀完都能實現(xiàn)發(fā)短息腦功能,如有疑問也可以留言,博主會第一時間解答,感興趣的朋友可以一鍵三連,python使用小技巧持續(xù)更新中?。?!


          瀏覽 70
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美 日韩 另类 激情 精品 | 黄片免费看久久久 | 在线视频第二页 | 男女夜夜视频 | 欧美操逼一级精 |