from tencentcloud.common import credential from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException from tencentcloud.sms.v20190711 import sms_client, models try: cred = credential.Credential("AKIDkGlz4tb2i8G9bbPI", "nKtDmQSO5WhiU") print('101行',cred) client = sms_client.SmsClient(cred, "ap-beijing") req = models.SendSmsRequest() # 短信應用ID: 短信SdkAppid在 [短信控制檯] 添加應用後生成的實際SdkAppid,示例如1400006666 req.SmsSdkAppid = "14003233333338" # 短信簽名內容: 使用 UTF-8 編碼,必須填寫已審覈經過的簽名,簽名信息可登陸 [短信控制檯] 查看 req.Sign = "wwwwwwww" # 下發手機號碼,採用 e.164 標準,+[國家或地區碼][手機號] # 示例如:+8613711112222, 其中前面有一個+號 ,86爲國家碼,13711112222爲手機號,最多不要超過200個手機號 req.PhoneNumberSet = [‘手機號’,] # 模板 ID: 必須填寫已審覈經過的模板 ID。模板ID可登陸 [短信控制檯] 查看 req.TemplateID = "111111" # 模板參數: 若無模板參數,則設置爲空 req.TemplateParamSet = [‘本身寫’’,] # 經過client對象調用DescribeInstances方法發起請求。注意請求方法名與請求對象是對應的。 # 返回的resp是一個DescribeInstancesResponse類的實例,與請求對象對應。 resp = client.SendSms(req) # 輸出json格式的字符串回包 print(resp.to_json_string(indent=2)) except TencentCloudSDKException as err: print(err)
總代碼html
python 通用python
1. 安裝SDKjson
pip install qcloudsms_py
2 基於SDK發送短信網絡
import ssl # ssl._create_default_https_context = ssl._create_unverified_context from qcloudsms_py import SmsMultiSender, SmsSingleSender from qcloudsms_py.httpclient import HTTPError def send_sms_single(phone_num, template_id, template_param_list): """ 單條發送短信 :param phone_num: 手機號 :param template_id: 騰訊雲短信模板ID :param template_param_list: 短信模板所需參數列表,例如:【驗證碼:{1},描述:{2}】,則傳遞參數 [888,666]按順序去格式化模板 :return: """ appid = 112142311 # 本身應用ID appkey = "8cc5b87123y423423412387930004" # 本身應用Key sms_sign = "Python之路" # 本身騰訊雲建立簽名時填寫的簽名內容(使用公衆號的話這個值通常是公衆號全稱或簡稱) sender = SmsSingleSender(appid, appkey) try: response = sender.send_with_param(86, phone_num, template_id, template_param_list, sign=sms_sign) except HTTPError as e: response = {'result': 1000, 'errmsg': "網絡異常發送失敗"} return response def send_sms_multi(phone_num_list, template_id, param_list): """ 批量發送短信 :param phone_num_list:手機號列表 :param template_id:騰訊雲短信模板ID :param param_list:短信模板所需參數列表,例如:【驗證碼:{1},描述:{2}】,則傳遞參數 [888,666]按順序去格式化模板 :return: """ appid = 112142311 appkey = "8cc5b87123y423423412387930004" sms_sign = "Python之路" sender = SmsMultiSender(appid, appkey) try: response = sender.send_with_param(86, phone_num_list, template_id, param_list, sign=sms_sign) except HTTPError as e: response = {'result': 1000, 'errmsg': "網絡異常發送失敗"} return response if __name__ == '__main__': result1 = send_sms_single("15131255089", 548760, [666, ]) print(result1) result2 = send_sms_single( ["15131255089", "15131255089", "15131255089", ],548760, [999, ]) print(result2)