python发送免费短信验证码(腾讯云 短信)
第一步,首先去注册一个微信小程序,在腾讯云短信服务中创建签名的时候会用到哦。
点击此链接进入微信公众平台
注册好微信小程序,之后。
第二步,如果您还没有腾讯云账号,您需要 注册腾讯云 账号,并完成 实名认证。
- 如果您已有实名认证的腾讯云账号,请直接进行下一步操作。
申请开通短信服务
1.登录 短信控制台,勾选我已阅读并同意 腾讯云短信 服务协议,单击开始接入即可开通。
2.开通后,进入短信控制台,可跟随 概览页>新手配置指引配置申请短信签名、模板并发送短信。
3.此时就会需要前面我们注册的小程序来认证来创建签名
- 结合实际情况和 签名审核标准 设置以下参数:
- 签名用途:选择自用(签名为本账号实名认证的公司、网站、产品名等)。
- 签名类型:选择小程序。
- 签名内容:输入小程序(就是你的小程序的名称)
- 单击确定。
等待签名审核,当状态变为已通过时,短信签名才可用。 - 创建正文模板(也就是你需要发送短信的模板如图)
发送短信 可以进入到短信 Python SDK-SDK 文档-文档中心-腾讯云相关文档
- 需要安装 Python SDK 前,先获取安全凭证。在第一次使用云 API 之前,用户首先需要在 腾讯云控制台 上申请安全凭证,安全凭证包括 SecretID 和 SecretKey, SecretID 是用于标识 API 调用者的身份,SecretKey 是用于加密签名字符串和服务器端验证签名字符串的密钥。SecretKey 必须严格保管,避免泄露。通过 Pip 安装(推荐)
您可以通过 pip 安装方式将腾讯云 API Python SDK 安装到您的项目中,如果您的项目环境尚未安装 pip,请详细参见 pip官网 安装。
通过pip方式安装或更新请在命令行中执行以下命令:
pip install --upgrade tencentcloud-sdk-python
中国大陆地区的用户可以使用国内镜像源提高下载速度,例如
pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python
。请注意,如果同时有 python2 和 python3 环境, python3 环境需要使用 pip3 命令安装。
如果只想使用某个具体产品的包,例如云服务器 CVM,可以单独安装,但是注意不能和总包同时工作。
pip install --upgrade tencentcloud-sdk-python-common tencentcloud-sdk-python-cvm
7.安装pip install --upgrade tencentcloud-sdk-python 之后呢我们就可以来进行短信验证了
8.测试短信验证代码
# -*- coding: utf-8 -*-
from tencentcloud.common import credential
# 导入对应产品模块的client models。
from tencentcloud.sms.v20210111 import sms_client, models
# try:
# 必要步骤:
# 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
# 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
# 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
# 以免泄露密钥对危及你的财产安全。
# SecretId、SecretKey 查询: https://console.cloud.tencent.com/cam/capi
cred = credential.Credential("AKIDITSGrI9qR2V8atwoTwDH5f5IGyQlwtjN", "b0C94sa8Vg0KfyAC6sVwDOWZSF4whEWe")
# 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
# 实例化要请求产品(以sms为例)的client对象
# 第二个参数是地域信息,可以直接填写字符串ap-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")
# 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
# 你可以直接查询SDK源码确定SendSmsRequest有哪些属性可以设置
# 属性可能是基本类型,也可能引用了另一个数据结构
# 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明
req = models.SendSmsRequest()
# 基本类型的设置:
# SDK采用的是指针风格指定参数,即使对于基本类型你也需要用指针来对参数赋值。
# SDK提供对基本类型的指针引用封装函数
# 帮助链接:
# 短信控制台: 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
# 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666
# 应用 ID 可前往 [短信控制台](https://console.cloud.tencent.com/smsv2/app-manage) 查看
req.SmsSdkAppId = "1400690454"
# 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名
# 签名信息可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的签名管理查看
req.SignName = "村里的白公众号"
# 模板 ID: 必须填写已审核通过的模板 ID
# 模板 ID 可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看
req.TemplateId = "1792203"
# 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,,若无模板参数,则设置为空
req.TemplateParamSet = ["1234",'1234']
# 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]
# 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号
req.PhoneNumberSet = ["+8617361573847"]
# 用户的 session 内容(无需要可忽略): 可以携带用户侧 ID 等上下文信息,server 会原样返回
req.SessionContext = ""
# 短信码号扩展号(无需要可忽略): 默认未开通,如需开通请联系 [腾讯云短信小助手]
# req.ExtendCode = ""
# 国内短信无需填写该项;国际/港澳台短信已申请独立 SenderId 需要填写该字段,默认使用公共 SenderId,无需填写该字段。注:月度使用量达到指定量级可申请独立 SenderId 使用,详情请联系 [腾讯云短信小助手](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格式的字符串回包
print(resp)
# 当出现以下错误码时,快速解决方案参考
# - [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&title=Sms)
# except TencentCloudSDKException as err:
# print(err)
代码如下:
只不过里面有些信息需要改成你的
# -*- coding: utf-8 -*-
from tencentcloud.common import credential# 导入对应产品模块的client models。
from tencentcloud.sms.v20210111 import sms_client, models# try:# 必要步骤:# 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。# 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。# 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,# 以免泄露密钥对危及你的财产安全。# SecretId、SecretKey 查询: https://console.cloud.tencent.com/cam/capi
cred = credential.Credential("SecretId", "SecretKey")# 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# 实例化要请求产品(以sms为例)的client对象# 第二个参数是地域信息,可以直接填写字符串ap-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")# 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数# 你可以直接查询SDK源码确定SendSmsRequest有哪些属性可以设置# 属性可能是基本类型,也可能引用了另一个数据结构# 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明req = models.SendSmsRequest()# 基本类型的设置:# SDK采用的是指针风格指定参数,即使对于基本类型你也需要用指针来对参数赋值。# SDK提供对基本类型的指针引用封装函数# 帮助链接:# 短信控制台: 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# 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666# 应用 ID 可前往 [短信控制台](https://console.cloud.tencent.com/smsv2/app-manage) 查看
req.SmsSdkAppId = "需要改成你的应用ID"# 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名# 签名信息可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的签名管理查看
req.SignName = "需要改成你的签名"# 模板 ID: 必须填写已审核通过的模板 ID# 模板 ID 可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看
req.TemplateId = "模板ID"# 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,,若无模板参数,则设置为空
req.TemplateParamSet = ["1234"]# 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]# 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号
req.PhoneNumberSet = ["+8617311112222"]# 用户的 session 内容(无需要可忽略): 可以携带用户侧 ID 等上下文信息,server 会原样返回
req.SessionContext = ""# 短信码号扩展号(无需要可忽略): 默认未开通,如需开通请联系 [腾讯云短信小助手]# req.ExtendCode = ""# 国内短信无需填写该项;国际/港澳台短信已申请独立 SenderId 需要填写该字段,默认使用公共 SenderId,无需填写该字段。注:月度使用量达到指定量级可申请独立 SenderId 使用,详情请联系 [腾讯云短信小助手](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格式的字符串回包
print(resp)# 当出现以下错误码时,快速解决方案参考# - [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&title=Sms)# except TencentCloudSDKException as err:
# print(err)
以上亲测发送短信成功! 欢迎各位朋友一起讨论学习~~~~~
python发送免费短信验证码(腾讯云 短信)相关推荐
- Python使用腾讯云-短信服务发送手机短信
原创不易,欢迎关注我的微信公众号:司马弈 获取更多精选内容. 腾讯云短信服务介绍 目前[腾讯云短信]为客户提供[国内短信].[国内语音]和[海外短信]三大服务,腾讯云短信SDK支持以下操作: 国内短信 ...
- 接入腾讯云短信服务(史上最详细+该短信服务如何申请成功+发送短信验证码API讲解+相关错误分析)
2021/8/17/23:01{2021/8/17/23:01}2021/8/17/23:01 文章目录 前言 一.如何成功申请到腾讯云短信服务 1.签名申请 2.正文模板申请 二.发送短信API开发 ...
- java实现短信验证码发送(架子是springboot 服务平台选择腾讯云短信服务)
业务需求:公司扩展新业务,新增短信验证码提醒服务,负责功能模块完善 暂时只研究了腾讯短信服务的发送(看api谁都能copy出来),短信状态回执(也挺简单,只是自己想复杂了),短信回复回执(暂时没弄明白 ...
- 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)
文章目录 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现) 1.打开腾讯云短信服务 2.创建短信签名 3.创建短信正文模板 4.等待全部审核完毕即可 5.发送短信 ...
- 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)
普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...
- 腾讯云短信发送验证码(超详细)
在大部分的短信平台,能免费送的短信条数也就是几条,太少了,测试都不够,基本上都是要充钱够买的.我也注册了好几个平台,发现腾讯云免费赠送200条试用短信,就很不错.在我们学生党项目测试来说的话,就已经绰 ...
- 如何通过腾讯云短信实现发送验证码并校验验证码以实现登录功能
如何通过腾讯云短信实现发送验证码并校验验证码以实现登录功能 验证码相关的10种技术 图像处理技术:生成.识别.验证验证码的图像. 机器学习技术:让计算机自动学习并识别验证码. 文字识别技术:将图像中的 ...
- 腾讯云短信服务发送验证码
腾讯云短信服务发送验证码 1.前言 2.进入短信服务控制台 3.创建签名 4.创建模板 5.短信-应用管理-应用列表 6.创建密钥 7.SpringBoot实现短信验证码发送 7.1 引入依赖 7.2 ...
- Springboot+Redis接入腾讯云短信服务实现验证码发送
目录 一.开通腾讯云短信服务 二.代码实现 三.测试 申请阿里云短信服务需要以上线APP或已备案网站,腾讯云短信服务可以使用微信公众号申请,注册个人微信公众号比较方便,改用腾讯云短信服务,参考官方SD ...
最新文章
- CentOS7图形界面与命令行界面切换
- C# 发邮件类可发送附件
- jsp中两个字符串格式的日期可以相减吗_举个栗子!Tableau 技巧(126):学几个常用的日期函数...
- 前端学习(1050):todolist正在进行个数和已完成个数
- 详解6G系统数据治理方案的设计要点和原则
- Java实现的一个简单的模板渲染
- 资源管理与调度系统-YARN资源隔离及以YARN为核心的生态系统
- 存在out参数的webservices_Sentaurus Device材料参数的那些事
- word转换为pdf后图片失真的解决办法
- 网地址和广播地址的计算
- 如何与导师有效沟通你的论文选题?
- 论文笔记: FSA-Net
- 修改 QQ 任务栏托盘区小图标和等级图标
- flask form表单
- float a=1.0f 这里的1.0f中的 f 代表什么?有什么意思?
- ios 系统状态栏样式修改_iOS_状态栏字体颜色修改(完美解决)
- Code Geass CD入手
- Python函数 — 类型提示和存根文件
- 动态平衡网格交易_微笑每周答——定投基金,哪种方法最好?低估值、动态再平衡、网格交易法、价值平均策略,总有一款适合你...
- 【毕设项目问题】IDEA打开springboot项目,启动项上有红色叉叉
热门文章
- 数据结构 #考研#408
- 如何通过低代码开发平台实现CRM客户关系管理系统
- linux虚拟网口不同vlan,Openwrt创建虚拟网口(macvlan)
- BlackBerry 9850 应用:大众点评,美食家必备哦
- 网易云音乐开发--通过网易云音乐api,游客登录页面验证效果实现
- Springboot+ssm(Spring+SpringMVC+MyBatis)旧物置换网站
- 2015-07-20-struts-struts2简介
- C#连接MySQL数据库
- CC3200学习笔记02-芯片简介
- 配置小程序开发者工具及其使用(下)