python对接阿里云2.0SDK对接短信发送代码例子

由于官方推荐使用2.0 所以咱们与时俱进

代码部分

from alibabacloud_dysmsapi20170525.client import Client as Dysmsapi20170525Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_dysmsapi20170525 import models as dysmsapi_20170525_modelsdef test_send(access_key_id, access_key_secret, phone_numbers, sign_name, template_code, template_param):# 创建客户端client = Dysmsapi20170525Client(open_api_models.Config(access_key_id=access_key_id,access_key_secret=access_key_secret))# 设置短信参数send_sms_request = dysmsapi_20170525_models.SendSmsRequest(phone_numbers=phone_numbers,sign_name=sign_name,template_code=template_code,template_param=template_param)try:# 调用发送短信接口response = client.send_sms(send_sms_request)# 打印发送结果print(response.body)except Exception as e:# 打印错误信息print(e)def send_sms():access_key_id = '您的access_key_id'access_key_secret = '您的access_key_secret'phone_numbers = "18140208525"sign_name = "大乐至",  # 替换成您的短信签名template_code = "SMS_196270084",  # 替换成您的短信模板CODEtemplate_param = "{'code':'123456'}"  # 替换成您的模板参数,例如验证码等test_send(access_key_id, access_key_secret, phone_numbers, sign_name, template_code, template_param)

运行结果:

{'BizId': '553201009212859856^0', 'Code': 'OK', 'Message': 'OK', 'RequestId': 'C0994597-EC37-5833-9830-B6448BE22F72'}

代码解释

这段代码是使用阿里云的短信服务(Dysmsapi)来发送短信的一个示例。下面逐行解释代码的功能:

1-3: 导入阿里云短信API相关的客户端和模型。Client 是用于发起请求的客户端类,models 包含了发送请求和接收响应时所需的数据结构。

5-17: 定义了一个名为 test_send 的函数,该函数用于发送短信。它接收几个参数:access_key_idaccess_key_secret 是用户的阿里云访问密钥,用于身份验证;phone_numbers 是接收短信的手机号码;sign_name 是短信签名,即短信的发件人名称;template_code 是短信模板ID,每种短信类型(如验证码、促销等)会有不同的模板;template_param 是传递给短信模板的参数,例如验证码的数字。

8-11: 使用用户的 access_key_idaccess_key_secret 创建一个 Dysmsapi20170525Client 实例,这个客户端将用于发送短信。

13-17: 创建一个 SendSmsRequest 实例,这是发送短信请求的数据结构,包括手机号码、短信签名、模板代码和模板参数。

19-26: 使用 tryexcept 来处理发送短信的操作。在 try 块中,使用客户端的 send_sms 方法发送短信,并打印响应体,这通常包含了发送结果的详细信息。如果发送过程中发生异常(例如,网络问题或配置错误),则在 except 块中捕获异常并打印出来。

28-37: 定义了一个 send_sms 函数,这是一个包装函数,用于设置发送短信所需的参数,并调用 test_send 函数。这里的参数(如 access_key_idaccess_key_secretphone_numbers 等)需要替换为实际的值。

39: 调用 send_sms 函数,实际发送短信。当脚本运行时,它将执行这个函数,发送一条短信到指定的手机号码。

总之,这段代码展示了如何使用阿里云短信服务API发送一条短信,从设置认证信息、配置短信内容到发送请求和处理响应。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/709599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EAP-TLS实验之H3C MSR2600-10-X1配置相关

H3C MSR2600充当802.1x流程中的NAS(Network Access System)角色,一般负责实际待验证的设备与认证服务器之间沟通的桥梁(当然也可以配置成认证服务器角色)工作。在挑选购买支持802.1x的路由器或交换机时需要跟厂家明确是…

DFS之剪枝与优化

剪枝 1.优化搜索顺序:在大部分情况下,我们应该优先搜索分支较少的结点 2.排除等效冗余(在不考虑顺序的情况下,尽量用组合的方式来搜索) 3.可行性剪枝 4.最优性剪枝 5.记忆化搜索 165. 小猫爬山 - AcWing题库 import …

旧项目集成阿里云滑动验证码(web和H5方式)

简述 旧项目集成阿里云滑动验证码(web和H5方式) 适用于servlet和HTML项目,VUE + springboot请看另一篇文档 前情提示 系统: 一说 部分截图、链接等因过期、更换域名、MD语法等可能不显示,可联系反馈(备注好博文地址),谢谢❤带有​​#号、删除线、不操作、不执行​…

【力扣hot100】刷题笔记Day16

前言 干活炼丹闲暇之余来刷刷题!NoNo应该说刷题闲暇才炼丹 994. 腐烂的橘子 - 力扣(LeetCode) BFS队列 参考橘子哥的题解 class Solution:def orangesRotting(self, grid: List[List[int]]) -> int:row, col, time len(grid), len(grid…

双非二本找实习前的准备day2

学习目标: 每天2-3到简单sql(刷完即止),每天复习代码随想录上的题目3道算法(时间充足可以继续),背诵的八股的问题也在这里记录了 今日碎碎念: SQL有些题用到的知识感觉不会出现在…

小狐狸chat2.7.2免授权修复版可用版

小狐狸chat2.7.2免授权修复版可用版 在网络上面找了好几个版本不能使用,今天发布这个仔细测试正常使用 主要功能:独立版无限多开支持分销会员充值自己APP打包小程序万能创作MJ绘图多个国内接口 国外很火的ChatGPT,这是一种基于人工智能技术…

《汇编语言》- 读书笔记 - 第13章-int 指令

《汇编语言》- 读书笔记 - 第13章-int 指令 13.1 int 指令13.2 编写供应用程序调用的中断例程中断例程:求一 word 型数据的平方主程序中断处理程序执行效果 中断例程:将一个全是字母,以0结尾的字符串,转化为大写主程序中断处理程序…

vue-router4 (二) 引入并配置路由

1.在项目src/router/index.ts 文件夹下配置路由&#xff1a; import { createRouter ,createWebHistory,RouteRecordRaw} from "vue-router"; //1.引入路由//3.routes配置项 const routes:Array<RouteRecordRaw> [{path:"/", //路径name:"…

IDEA利用鼠标调整字体大小

就可以按住ctrl和鼠标调节代码字体的大小啦&#xff01; 如果有用&#xff0c;记得给我来个赞~ 谢啦&#xff01;

【性能测试】loadrunner12.55--知识准备

1.0. 前言 ​ 在性能测试中&#xff0c;牵扯到了许多比较杂的知识点&#xff0c;这里将给大家说一下&#xff0c;loadrunner性能测试前需要做的一些准备&#xff0c;本节中我们将先从性能测试的一些术语入手&#xff0c;再到HTTP的一些知识&#xff0c;最后导我们loadrunner12…

c++学习:继承

目录 特点 基本用法 实例 基类&#xff1a;Animal 派生类&#xff1a;Lion 派生类&#xff1a;Elephant 派生类&#xff1a;Bird 使用这些类 权限对继承的影响 示例 基类构造函数 示例 继承是面向对象编程&#xff08;OOP&#xff09;中的一个核心概念&#xff0c;…

应用多元统计分析--多元数据的直观表示(R语言)

例1.2 为了研究全国31个省、市、自治区2018年城镇居民生活消费的分布规律&#xff0c;根据调查资料做区域消费类型划分。 指标&#xff1a; 食品x1&#xff1a;人均食品支出(元/人) 衣着x2&#xff1a;人均衣着商品支出(元/人) 居住x3&#xff1a;人均居住支出(元/人) 生活x4…

20240221作业

1.结构体字节对齐64位&#xff0c;32位&#xff0c;指定2字节对齐 struct data{ char t1; char t2; unsigned short t3; unsigned long t4; };64位 16 //1 //1 //2 //4 //8 32位 8 //1 //1 //2 //4struct data{ char t1; int t2; short t3; };64位 12 //1 //3 //4 //2 //2 32位…

RabbitMQ实战学习

RabbitMQ实战学习 文章目录 RabbitMQ实战学习RabbitMQ常用资料1、安装教程2、使用安装包3、常用命令4、验证访问5、代码示例 一、RabbitMQ基本概念1.1. MQ概述1.2 MQ 的优势和劣势1.3 MQ 的优势1. 应用解耦2. 异步提速3. 削峰填谷 1.4 MQ 的劣势1.5 RabbitMQ 基础架构1.6 JMS 二…

Java配置49-nginx 反向代理 sftp 服务器

1. 背景 后端服务需要通过部署在跳板机上的 nginx 访问一个外网的 SFTP 服务器。 2. 方法 nginx从 1.9.0 开始&#xff0c;新增加了一个stream模块&#xff0c;用来实现四层协议的转发、代理或者负载均衡等。 首先检查 nginx 版本信息及是否安装了 stream 模块。 进入 ngi…

React入门之React_使用es5和es6语法渲染和添加class

React入门 //react的核心库 <script src"https://cdn.jsdelivr.net/npm/react17/umd/react.development.js"></script> //react操作dom的核心库&#xff0c;类似于jquery <script src"https://cdn.jsdelivr.net/npm/react-dom17/umd/react-dom.…

USB-C接口:办公新宠,一线连接笔记本与显示器

USB-C接口如今已成为笔记本与显示器连接的优选方案。无需担心正反插错&#xff0c;支持雷电4和DP视频信号输出&#xff0c;高速数据传输&#xff0c;还有最高100W的快充功能&#xff0c;真是方便又实用&#xff01; 一线连接&#xff0c;多功能融合 通过这个接口&#xff0c;你…

Unity 游戏设计模式:工厂模式

本文由 简悦 SimpRead 转码&#xff0c; 原文地址 mp.weixin.qq.com 工厂模式是一种创建型设计模式&#xff0c;它提供了一种封装对象实例化过程的方式&#xff0c;使得客户端代码与具体类的实现解耦。 在 C# 的游戏设计中&#xff0c;模式有以下作用&#xff1a; 对象的创建…

Keepalived介绍、架构和安装

Keepalived介绍、架构和安装 文章目录 Keepalived介绍、架构和安装1.Keepalived&#xff08;高可用性服务&#xff09;1.1 Keepalived介绍1.2 Keepalived 架构1.3 Keepalived 相关文件 2.Keepalived安装2.1 主机初始化2.1.1 设置网卡名和ip地址2.1.2 配置镜像源2.1.3 关闭防火墙…

mongo之常用数据库操作

目录 一、准备环境 二、日常记录及执行示范 连接数据库查询版本查询表总数模糊查询(使用正则)查询文档中数据条数排序大于等于查询有哪些库时间查询不在条件内的查询复制数据更新字段名称删除数据库 四、高阶查询 五、备份迁移数据库 总结 一、准备环境 借鉴&#xff1a;…