Pycharm使用阿里云SDK发送短信(超详细+避坑!!)

news2025/1/15 6:31:04

文章目录

  • 1. 注册阿里云
  • 2. 创建签名
  • 3. 创建模板
  • 4. 创建AccessKey
  • 5. API发送测试
  • 6. 获取示例
  • 7. pycharm发送验证码
    • 7.1 安装sdk
    • 7.2 参数修改
    • 7.3 发送随机四位数字
    • 7.4 验证码信息返回
    • 7.5 简易版代码:

1. 注册阿里云

访问阿里云官网,进行注册

https://www.aliyun.com/

同时进行实名认证

2. 创建签名

按下列顺序来到阿里云的短信服务

image-20231029231134350

image-20231029231247418

image-20231029231345049

这里自行填入:

  • 签名:就是你发送短信的标签,比如:【签名】您的验证码为:1234,您正在登录,若非本人操作,请勿泄露。

  • 签名来源:我选择的是“测试或学习”(因为我本身也是用来做项目测试用的)

  • 场景说明:也可以说明一下是自己用来学习测试用的。

  • 更多资料:可以不用上传。

image-20231029231440151

提交后等待审核即可,若审核未通过,就看看是什么原因造成的,再重新修改并添加。

3. 创建模板

image-20231029231911946

这里需要等待签名审核通过后再创建模板。

  • 模板类型:选择不同的类型,下面模板内容的提示描述不同。

  • 模板名称:就是简单描述你这个模板是干嘛的,比如上图我创建了两个模板“用户注册”和“登录验证码”,一个就是拿来登录用的,另一个就是拿来注册用的。

  • 模板内容:就是短信具体的内容了,比如我前面举的例子(您的验证码为:1234,您正在登录,若非本人操作,请勿泄露。)注意,【签名】是它自动帮你生成的,不用管。还要注意下面说的变量,看看它提供的变量格式就明白了。

  • 应用场景:就自己填写了,我之前自己创建了一个公众号,就用了公众号的名字。

  • 场景说明:就按照它说明的,写上用来测试账号即可。

image-20231029231952798

创建好后等待审核通过即可。

4. 创建AccessKey

image-20231029232928780

我这里选择的是继续使用AccessKey

image-20231029233054083

image-20231029233201930

创建好后就会显示你的ID和Secret,一定要保存好AccessKey Secret,因为一旦关掉这个后后面就找不到它了。

image-20231029233303887

这样AccessKey就创建好了。

5. API发送测试

提前购买一些短信套餐,新人有折扣挺便宜的,也就几块钱,这里不多说。

image-20231029233554117

就是在这个页面往上拉一点就能看到“购买国内套餐包”。

image-20231029233730491

点击“调用API发送短信”后来到这个页面

image-20231029233925841

直接点击“发送调用”,它会提示你会产生费用,所以我们最好提前购买好套餐。

image-20231029234244669

然后就可以从手机上看到了

6. 获取示例

测试后我们回到刚刚的网页,按顺序点击

image-20231029234356890

第三个步骤是复制上面的python代码

7. pycharm发送验证码

7.1 安装sdk

打开pycharm,新建一个py文件,将刚刚复制的代码粘贴上去

image-20231029234603245

此时可以看到有很多报错,这是因为我们还没有安装sdk。下面进行安装

直接pip install的话很多会报错,而且速度比较慢,这里用清华镜像源安装。

pip install alibabacloud_dysmsapi20170525 -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install alibabacloud_tea_openapi -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install alibabacloud_tea_util -i https://pypi.tuna.tsinghua.edu.cn/simple

安装了前两个后发现第三个也不是非要安装0.0,所以我们安装前两个就好。

7.2 参数修改

image-20231029235450896

注意,不止这一处的代码需要修改,下面的代码也有这样的参数需要修改。

修改好后运行就能发送验证码了。

7.3 发送随机四位数字

添加如下代码即可:

image-20231029235706101

image-20231030000527990

7.4 验证码信息返回

在main函数里将send_sms_request返回即可

image-20231030000011893

7.5 简易版代码:

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_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient

import random

code = random.randrange(1000, 9999)

def create_client(access_key_id, access_key_secret):
    config = open_api_models.Config(
        access_key_id=access_key_id,
        access_key_secret=access_key_secret
    )
    config.endpoint = f'dysmsapi.aliyuncs.com'
    return Dysmsapi20170525Client(config)

def send_sms():
    client = create_client('AccessKey ID', 'AccessKey Secret')
    send_sms_request = dysmsapi_20170525_models.SendSmsRequest(
        sign_name='签名,
        template_code='模板号',
        phone_numbers='手机号',
        # template_param='{"code":"4567"}'
        template_param='{"code":"' + str(code) + '"}'
    )
    runtime = util_models.RuntimeOptions()
    try:
        # 复制代码运行请自行打印 API 的返回值
        client.send_sms_with_options(send_sms_request, runtime)
    except Exception as error:
        # 如有需要,请打印 error
        UtilClient.assert_as_string(error.message)
    return send_sms_request

print(send_sms())

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

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

相关文章

ZYNQ连载03-Vivado创建工程

ZYNQ连载03-Vivado创建工程 1. 硬件参数 名称参数主控xc7z020clg400-2DDRMT41J256M16RE-125 2. 创建工程 3. 串口配置 4. DDR配置 5. SD配置 6. ETH配置 7. USB配置 8. 导出硬件 Generate Output ProductsCreate HDL WrapperExport Hardware Platform 执行以上步骤后&#…

华为eNSP cli(命令行界面) Courier New字体设置

想让eNSP cli(命令行界面)字体设置为Courier New时,但在字体设置界面找不到Courier New字体,如下图所示: 遇到上述问题的解决办法如下: 到C:\Windows\Fonts目录下查找courier new字体,如果找到…

EDA常用数字器件硬件描述

EDA常用数字器件硬件描述 前言 在使用了一段时间EDA编程之后,来回顾一下基本的知识,看看如何实现基本的EDA常用数字器件对应的硬件描述 一、组合逻辑器件描述 1. 基本的逻辑门电路 与、或、非(取反)、与非、或非、异或、同或 …

【每日一题】59. 螺旋矩阵 II

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2: 输入:n 1 输出&…

软信天成:数据质量管理对企业有什么意义?

在这个信息爆炸的时代,数据已经成为了企业决策的基础,是企业成功的关键要素。然而,如果企业所获取的数据质量不佳,会对企业产生何种影响呢? 事实上,有效而准确的数据可以揭示出潜在的业务机遇,…

vue源码笔记之——运行时runtime

源码中的位运算 按位于 运算 if (shapeFlag & ShapeFlags.TELEPORT) {解释:如果shapFlag本身值为8,type为1的话,那么转换为二进制(js都是32位)那就是 shapFlag:00000000 00000000 00000000 00001000 …

6590亿美刀!美自食高息恶果,净利息支出即将超越军费

号外:教链内参10.28《普通人从0到1000万(三千字)》 当美经济分析局(BEA)日前给出三季度美国GDP初估增速高达与我国旗鼓相当的4.9%时,很多人欢欣鼓舞,全然不假思索,2007-2022年发电量…

SpringBoot中CommandLineRunner详解(含源码)

文章目录 前言实例导入库application.yamlRunnerSpringBootCommandLineRunnerApplication执行结果 先后顺序示例OrderRunner1OrderRunner2执行结果 通常用法加载初始化数据示例 启动后打印应用信息示例 启动异步任务示例 接口健康检查示例 外部服务调用示例 参数校验示例 动态设…

OpenCV学习笔记

OpenCV基础 threshold函数的使用 https://blog.csdn.net/u012566751/article/details/77046445 图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果。在数字图像处理中,二值图像占有非常重要的地位&#xff0…

四个制作PPT的小技巧

制作PPT已经很麻烦了,学习一些小技巧可以帮助我们省时省力吧! 技巧一:自动更新日期和时间 当我们给幻灯片添加了页脚并且是时间日期,可以通过设置达到自动更新,这样我们就不需要每次修改的时候都要手动更新日期和时间…

电商API接口中关于品牌详情/商品评论/视频/店铺链接等电商数据采集实例

单个品牌详情API接口 接口亮点:1.品牌商品,质量保障 2.高性价比商品,转化高 接口说明:该接口返回某个具体品牌的详细信息和推荐商品 使用场景:展示单个品牌相关信息以及品牌商品 商品评论API接口 接口亮点&…

C语言KR圣经笔记 2.8自增和自减 2.9位运算 2.10赋值

2.8 自增和自减操作符 C提供了两个不同寻常的操作符,用于对变量进行自增和自减。自增操作符对操作数加上1,而自减操作符 -- 对操作数减去1。我们已经频繁使用 对变量进行自增,如: if (c \n)nl; 不寻常之处在于 和 -- 既能用作…

接触式静电压测量仪的用途和操作方法

接触式静电压测量仪是一种用于测量静电电荷的仪器,主要用于工业生产和科学研究领域。它可以测量静电电压、静电场强、静电电荷等参数,对于静电控制和环境监测等方面具有重要的作用。 接触式静电压测量仪的操作方法如下: 接通电源:…

【Java系列】HashSet

HashSet 介绍添加元素判断元素是否存在删除元素删除集合中所有元素可以使用 clear 方法:计算大小迭代 HashSet 系列文章版本记录 介绍 HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的&#x…

PHP | php入门知识(if、switch、数组、数组排序、超级全局变量)

文章目录 一、php条件语句(if、switch)1. if语句2. if...else语句3. if...elseif...else语句4. switch语句 二、数组1)数值数组1. 创建数值数组的两种方法:2. 获取数组的长度(count()函数)3. 遍历数值数组&…

港大联合百度开源通用图大模型GraphGPT:让大语言模型读懂图数据

导读 图神经网络(GNN)已成为处理和学习图数据的强大工具,在社交网络分析、推荐系统、智慧城市和生物信息等多个领域带来了革命性的进展。图神经网络的核心优势在于其揭示图数据中复杂关联性的能力。通过消息传递和信息聚合,图神经…

Leo赠书活动-04期 【国家数据局正式揭牌,数据专业融合型人才迎来发展良机 】文末送书5本

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 赠书活动专栏 ✨特色专栏:…

数据防泄密软件排行榜(10大数据防泄密软件推荐)

众所周知,公司中往往由于员工离职而出现泄密的情况,比如公司的财务资料、客户资料以及数据资料等,员工在跳槽的时候将这些带走,管理者无从考证导致部门甚至企业出现亏损的情况。 数据泄密一旦发生,企业在查证追责时就有…

有了这本书学习递归算法不再那么难

递归是一种编程技术,能够产生相当优雅的代码,但它也经常会把写代码和看代码的程序员给弄糊涂。这并不是说程序员可以或者应该忽略递归。尽管大家都知道递归比较难,但是这是计算机科学领域的一个重要话题,它能让你敏锐地观察到编程…

【linux进程(七)】程序地址空间深度剖析

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Linux从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学更多操作系统知识   🔝🔝 程序地址空间 1. 前言2. 什么…