腾讯云短信封装

news/2024/9/16 19:07:08/

1、目录架构

        -send_tx_sms       ------------包

                -settings.py   ------------配置

                -sms.py         ------------核心代码

                -_init_.py     

 2.使用方法

pip install --upgrade tencentcloud-sdk-python 
或 
pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python

只用去腾讯云申请签名,和模板,申请成功之后,去settings.py配置就可以使用。

 sms.py返回值为布尔值,true就是发送成功,false出现错误

 3.代码

settings.py

#密钥                       #可查看这个地址:https://console.cloud.tencent.com/cam/capi
SECRET_ID='AKxxxxxxxxxxxxxxxxxxxruo'
SECRET_KEY='lLxxxxxxxxxxxxxxxxxxxxxxxX'
#应用ID
SMSSDK_APP_ID='14xxxxxxxxx7'
#签名信息
SIGNNAME='xxx公众号'      # 可查看这个地址:https://console.cloud.tencent.com/smsv2/csms-sign
# 模板 ID
TEMPLATE_ID='1xxxxxxxxxx0'     #可查看这个地址:https://console.cloud.tencent.com/smsv2/csms-template

 sms.py

# -*- coding: utf-8 -*-
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
# 导入对应产品模块的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
from .import settings
import random
def get_code(num):    #num  验证码的位数  code = ''for i in range(num):font_int = str(random.randint(0, 9))# 从上面随机选出来一个code += font_intreturn codedef send_sms_by_mobile(mobile, code):  #mobile  手机号 code 验证码  try:# SecretId、SecretKey 查询: https://console.cloud.tencent.com/cam/capicred = credential.Credential(settings.SECRET_ID,settings.SECRET_KEY)# cred = credential.Credential(#     os.environ.get(""),#     os.environ.get("")# )# 实例化一个http选项,可选的,没有特殊需求可以跳过。httpProfile = HttpProfile()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# 实例化要请求产品(以sms为例)的client对象# 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,支持的地域列表参考 https://cloud.tencent.com/document/api/382/52071#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8client = sms_client.SmsClient(cred, "ap-guangzhou", clientProfile)req = models.SendSmsRequest()req.SmsSdkAppId = settings.SMSSDK_APP_IDreq.SignName = settings.SIGNNAMEreq.TemplateId = settings.TEMPLATE_ID# 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,,若无模板参数,则设置为空req.TemplateParamSet = [code,"4"]      #{1}为您的登录验证码,请于{2}分钟内填写,如非本人操作,请忽略本短信。对应{1}{2}#"4":字符串req.PhoneNumberSet = ["+86"+mobile]req.SessionContext = ""req.ExtendCode = ""req.SenderId = ""resp = client.SendSms(req)# print(resp,'>>>>>>>>>')# 输出json格式的字符串回包res_dict = resp._serialize(allow_none=True)# print(res_dict,'>>>>>>>>>')if res_dict['SendStatusSet'][0]['Code'] == "Ok":    #判断是否发送成功return Trueelse:return Falseexcept TencentCloudSDKException as err:print(err)    #出现错误,记录日志return False

 _init_.py

from .sms import get_code,send_sms_by_mobile


http://www.ppmy.cn/news/622342.html

相关文章

HTML5是什么

一、HTML5是什么 1.HTML5 的概念与定义 定义:HTML5 定义了 HTML 标准的最新版本,是对 HTML 的第五次重大修改,号称下一代的 HTML 两个概念: 是一个新版本的 HTML 语言,定义了新的标签、特性和属性 拥有一个强大的…

C语言使用HTTP代码示例

这里提供一个C语言使用HTTP请求代码示例&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <arpa/inet.h>#define BUFFER_SIZE 4096void send_request(int sock, char *host, char *…

【各种乐器波形图】笛子、二胡、钢琴、号角等乐器波形图研究

标题&#xff1a;不同乐器波形图 笛子的频率取决于其音高&#xff0c;不同音高的笛子频率也不同。以C调笛子为例&#xff0c;其最基本的频率为261.63 Hz&#xff08;即中央C的频率&#xff09;。而其他调号的笛子的基本频率则会有所不同。 笛子的波形图&#xff1a; import n…

【每日新闻】苹果VS华为,人工智能手机芯片生态“封闭”与“开放”之战 | 工信部下发2018年第7批CDN与云服务牌照

每一个企业级的人 都置顶了 中国软件网 中国软件网 为你带来最新鲜的行业干货 小编点评 我们希望邀请更多的生态伙伴 共同探讨 共同行动 2018年4与人25日 北京站&#xff0c;不见不散&#xff01; 趋势洞察 生态视角 苹果VS华为&#xff0c;人工智能手机芯片生态“封闭”与“…

[游戏杂谈]游戏性到底是什么?

游戏性对于游戏来说&#xff0c;是至关重要的一个属性。 没有游戏性&#xff0c;游戏就不是游戏&#xff0c;仅仅是一个程序。 游戏性&#xff0c;看不见摸不着&#xff0c;只可意会不可言传。 游戏性与游戏理解起来&#xff0c;相当于梦想、理想、想法对于人的关系一样。 对…

常用网站

it桔子-倒闭的公司 弹钢琴 各大网站热点 抠图 春梅红 摩斯密码 小鸡词典 小霸王 各种雪花 妖魔鬼怪收录 下面是白噪声网站 网址类别https://hipstersound.com人群噪声https://www.rainymood.com/雨声https://asoftmurmur.com雨声 https://tide.fm 雨声http://rainys…

放弃“一阳指”,改练“六脉神剑”的OPPO何时能“后发先至”?

文|佘凯文 来源|智能相对论&#xff08;aixdlun&#xff09; 段永平可能也没意料到&#xff0c;中国的商业环境变化在十多年间会如此之快&#xff0c;甚至“买卖也不是品牌自己说了算了”。 段永平是一个很有意思的人&#xff0c;“科技巨头”、“隐形富豪”、“闲云野鹤”都…

java坦克大战地图_『坦克大战的基本地图系统(一)』Clickteam Fusion系列教程(13)...

哟&#xff0c;大家好呀&#xff0c;不知不觉已经过(拖)去(更)了好长时间了呀~国庆之后连续七天的课程怎么样&#xff0c;是不是很exciting啊……所以一不小心就这么长时间啥也没写了…… -------------------------------------------------------------------------------- 首…

JAVA开源协同过滤算法_基于用户的协同过滤推荐算法

什么是推荐算法 推荐算法最早在1992年就提出来了,但是火起来实际上是最近这些年的事情,因为互联网的爆发,有了更大的数据量可以供我们使用,推荐算法才有了很大的用武之地。 最开始,所以我们在网上找资料,都是进yahoo,然后分门别类的点进去,找到你想要的东西,这是一个人…

20年前学计算机,竟然有人说20年前的大学生没电脑和手机?我94年就开始玩电脑了!...

回复某些JR的观点&#xff1a; 首先&#xff0c;前提是20年前的大学生&#xff0c;请先问问你自己是不是&#xff1f; 事实上&#xff0c;你们仔细看帖的话&#xff0c;会发现仅就在这个帖子里&#xff0c;也有不少赞同我的声音&#xff0c;也有不小比例的人&#xff0c;在20年…

近日,我处理了一个大文件导入 nginx HTTP/1.1“ 413 585的问题

今天&#xff0c;导入一个1万多条数据的excel文件&#xff0c;本地没有用到nginx&#xff0c;导入很顺畅 部署到了线上后&#xff0c;导入文件后后台并没有日志输出&#xff0c;说明没有进入后端 经过摸排&#xff0c;分析&#xff0c;最终发现&#xff0c;是nginx这关没过 …

游戏网站大总结

//Crazy games link.zhihu.com/?targethttps%3A//www.crazygames.com/ //鼠标互动游戏合集 link.zhihu.com/?targethttp%3A//david.li/ //Poki link.zhihu.com/?targethttps%3A//poki.cn/ //游戏大全 link.zhihu.com/ //游戏大全 www.cdgameclub.com/ …

80/20法则

80/20法则&#xff08;The 80/20 Rule&#xff09;又称为帕累托法则(Pareto Principle&#xff09;、二八定律、帕累托定律、最省力法则、不平衡原则、犹太法则、马特莱法则等 一、什么是80/20法则 80/20法则&#xff08;The 80/20 Rule&#xff09;&#xff0c;又称为帕累托法…

[推荐算法]基于用户的协同过滤算法

转自&#xff1a;http://blog.csdn.net/ygrx/article/details/15501679 什么是推荐算法 推荐算法最早在1992年就提出来了&#xff0c;但是火起来实际上是最近这些年的事情&#xff0c;因为互联网的爆发&#xff0c;有了更大的数据量可以供我们使用&#xff0c;推荐算法才有了很…

【毕业设计】基于单片机的太空游戏机 - 嵌入式 物联网 stm32 51

文章目录 1 简介2 主要器件2.1 硬件器件 3 实现效果4 设计原理4.1 器件连接 5 部分实现代码6 最后 1 简介 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介绍一个学长做的单片机项目 基于单片机的太空飞机游戏机设计与实现 大家可用于 课程设计 或…

视频融合平台EasyCVR电子地图增加鼠标悬停展示经纬度

EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可…

计算机网络—数据链路层

文章目录 数据链路层服务差错编码多路访问协议信道划分随机访问MAC协议 数据链路层服务 该层中的帧数据结构&#xff1a; 帧头部会因为不同的局域网协议而不同&#xff0c;因此会在另一篇博文中继续介绍不同的帧数据报&#xff0c;不在本博文介绍。&#xff08;不过除了PPP协…

python实现图片拼接

# -*- coding:utf-8 -*- # 图片拼接 import PIL.Image as Image import os, sys mw 256 # 图片大小 toImage Image.new(RGB, (25171, 11802))#构造图片的宽和高&#xff0c;如果图片不能填充完全会 #出现黑色区域 for y in range(47):#0-46for x in range(99):#0-98fname &q…

C/C++ 图片拼接

注意CV::Mat dst(height,weight)顺序 // TODO 1 merge frame(background)/face(tmp_ptr->frame) into one imagecv::Mat background;cap.read(background);cv::Mat dst(720,1280,CV_8UC3,cv::Scalar(0));//黑底cv::Rect rect_face(0,0,640,720);cv::resize(tmp_ptr->fra…

numpy数组做 图片拼接(concatenate、vstack、hstack)

两种方法拼接 #img np.vstack((img, img2)) # vstack按垂直方向&#xff0c;hstack按水平方向 img np.concatenate((img, img2), axis0) # axis0 按垂直方向&#xff0c;axis1 按水平方向统一图片大小&#xff0c;保证数组维度一致避免拼接失败。 把图片全部调整成第一…