Python3.x调用阿里云短信api

Python调用阿里云短信接口 要使用Python调用阿里云的短信服务,你可以使用阿里云官方提供的SDK,即阿里云SDK for Python。这个需要你手动进行绑定测试手机号码,由于我没有购买,这100条是商家赠送,以便于测试使用的,像后续的绑定测试手机号,肯定可以在代码中实现,下面有个。创建好的AccessKey,他会让你进行复制粘贴,你只需要复制到文本文档,然后在放在代码中指定位置,就可以进行测试发送短信了。好了,上面是操作阿里云网站进行发送的手机号,下面要进行使用代码发送验证码了。 阅读详情

最近制作注册系统需要进行一个短信验证的功能,决定使用阿里云通信的短信服务,可是坑爹的问题就来了,阿里提供的SDK不支持Python3.x,遂只能通过其HTTP协议方式拼接url 官方文档

因为涉及到url编码问题,博主之前全是encode('utf-8')之后再转string再处理replace('\\x','%')真是太幸酸,后面知道可以使用urllib中的request包的quote函数方方便便的url编码问题,其他的就是跟着协议来了。贴上实现代码:

from urllib import request
import uuid
import time
import hashlib
import hmac
import base64
import os

def log(text):
    def decorator(function):
        def wrapper(*args,**kwargs):
            print('Pid:%s running %s [function:%s] at %s'%(os.getpid(),text,function.__name__,time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())))
            return function(*args,**kwargs)
        return wrapper
    return decorator

class MsgUrlBulid:
    def __init__(self,Dic,SercetID=None):
        self.HttpMethod='GET'
        self._infor=Dic
        if SercetID==None:
            raise ValueError('SercetID must input!')
        self._SercetID=SercetID
        print('api information write compelet!')
    @staticmethod
    def Encode(x):
        x=request.quote(x,safe='')
        x = x.replace("+", "%20").replace("*", "%2A").replace("%7E", "~")
        return x
    @log('build sorted dictionary')
    def _BulidQuery(self):
        if self._infor==None:
            raise ValueError('please init first')
        lst=sorted(self._infor)
        tmpLst=[]
        for k in lst:
            v=self._infor[k]
            para='%s=%s'%(self.Encode(k),self.Encode(v))
            tmpLst.append(para)
        return '&'.join(tmpLst)
    @log('build string to sign')
    def _Signtosign(self,x):
        return self.HttpMethod+'&'+self.Encode('/')+'&'+self.Encode(x)

    @log('create a sign')
    def _CreateSign(self,x):
        Sha1=hmac.new((self._SercetID+'&').encode('utf-8'),x.encode('utf-8'),hashlib.sha1).digest()
        Sign=base64.b64encode(Sha1)
        return self.Encode(Sign)
    @log('reset the informaton of api')
    def resetinfor(self,Dic):
        self._infor=Dic
    @log('start build request')
    def UrlBulid(self):
        Basestr=self._BulidQuery()
        tmp=self._Signtosign(Basestr)
        x=self._CreateSign(tmp)
        return 'http://dysmsapi.aliyuncs.com/?Signature=%s&%s'%(x,Basestr)

使用方法 把相关数据替换一下就可以了:

if __name__=='__main__':
    form={}
    form["SignatureMethod"] = "HMAC-SHA1"
    form["SignatureNonce"] = str(uuid.uuid1())
    form["AccessKeyId"] = 'your AcessKeyId'
    form["SignatureVersion"] = "1.0"
    form['Timestamp'] = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())

    form['Action'] = "SendSms"
    form['Version'] = "2017-05-25"
    form['RegionId'] = "cn-hangzhou"
    form['SignName'] = "your signname"#签名
    form['TemplateParam'] = '{"code":"xxxx"}'#模板替换部分
    form['PhoneNumbers'] = "target telphone number"#接受信息的号码
    form['TemplateCode'] = "your templatecode"#模板号
    x=MsgUrlBulid(form,'your sercetid')#
    print(x.UrlBulid())

需要重置信息调用x.resetinfor(form)就好

运行结果:
这里写图片描述

源码下载地址

chatgpt赋能python:Python调用短信接口:实现快速高效的短信发送 短信接口是指提供短信发送功能的网络接口,类似于互联网上的API接口。使用短信接口可以通过编程的方式将短信直接发送至用户手机上。这种方式不仅可以大大节约人力成本,而且还可以实现不间断的24小时短信发送工作。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于。 阅读详情

相关推荐

python发送阿里云短信教程

python发送阿里云短信教程

LDC,公众号【轻松学编程】 1746

Python 发送阿里云手机短信消息

Python 发送阿里云手机短信消息

gdgztt的专栏 605

Python使用阿里云发送短信的两种方式

第一种方式 from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest def send_sms(mobile, code): # 短信验证 client = AcsClient('ACCESS_KEY_ID','ACCESS_KEY_SECRET') request = CommonRequest() request.set_accept_format

菲宇运维 4736

python使用阿里云短信服务发送验证码

一、依赖安装和下载demo pip install aliyun-python-sdk-core-v3 安装好开发需要的依赖后,可在阿里云服务平台下载Python对应的sdk: https://help.aliyun.com/document_detail/55359.html?spm=a2c4g.11186623.4.4.14b319d9zwFjV3 二、建立demo 下载完毕后,完整目录: 只需要拿到下面的几个文件即可:...

Dream_it_possible!的博客 3987

使用cubeMX生成USB HID设备

本文主要介绍如何使用stm32开发板和cubeMX生成HID设备,供参考。

专注音频,高效工作,快乐生活! 970

三相逆变器LCL滤波设计实战:从αβ转换到dq解耦控制的完整建模流程

本文详细解析了三相逆变器LCL滤波设计中的关键步骤,从αβ转换到dq解耦控制的完整建模流程。重点介绍了dq坐标系下的解耦控制策略,通过Simulink仿真验证模型准确性,并提供谐振峰偏移、解耦不彻底等实际问题的解决方案,助力电力电子工程师提升系统稳定性。

weixin_28678151的博客 229

Python3调用阿里短信api发送短信

阿里提供的短信通道api给的参考是Python2.X版的,然而对于Python3.x版本,也同样适用   阿里接口调用文档:https://market.aliyun.com/products/57002003/cmapi011900.html#item-1     Python3代码示例如下: import urllib.request import urllib3 from...

TroKey的专栏 1100

【数据集6】全球人工不透水面积GAIA(清华数据)

全球人工不透水面GAIA简介及其应用

WW、forever的博客 3801

阿里云短信调用方法,超详细,无差错

目录 阿里云短信调用方法 环境准备 图片新标签页打开会很清晰 安装阿里云 Python SDK 安装SDK核心库 安装云产品的SDK 使用Python SDK 补充 添加签...

weixin_30487701的博客 713

数据结构(超详细讲解!!)第十七节 队列应用(杨辉三角)

杨辉三角

2201_76115387的博客 1375

MSBlock赋能C2f模块,让目标检测在轻量化与精度间双向突破

在文件夹下新建,将上述MSBlock和C2f_MS类的代码写入其中。这一步是为了让YOLOv8的代码架构能识别我们的自定义模块。

LXY_LOVE36的博客 143

用python3发短信_Python3调用阿里短信api发送短信

阿里提供的短信通道api给的参考是Python2.X版的,然而对于Python3.x版本,也同样适用阿里接口调用文档:https://market.aliyun.com/products/57002003/cmapi011900.html#item-1Python3代码示例如下:import urllib.requestimport urllib3from urllib import parsed...

weixin_42365170的博客 812

innovus:Patch Wire(补丁线)

1)选中wire ,shift+A使用Edit Route功能,F3打开edit route对话框。线道Create Patch Wire,设置好层次和宽度。在修补一些min area的drc时,会有一些danling wire的drc冒出来,为了避免这些假错,可以使用工具patch wire功能。2)沿着选中的wire画线即可。如下图,patch wire和regular wire是能看出区别的。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1962

python调用api接口时需要登陆怎么处理_python调用API接口实现登陆短信验证

API说明调用地址:http://yzxyzm.market.alicloudapi.com/yzx/verifySms请求方式:POST返回类型:JSON请求参数(Query)名称类型是否必选描述phoneSTRING必选需要发送的手机号码templateIdSTRING必选模板id,联系客服人员申请成功的模板IDvariableSTRING可选模板中变量参数名,参数值有多个时使用","隔开,例...

weixin_39714835的博客 537

SLAM Cartographer(18)后端优化问题求解器

了解经过闭环检测构建了子图与节点之间的约束之后,通过后端优化求解器进行优化求解。核心是基于Ceres库进行SPA(Sparse Pose Adjustment)的优化方法,把后端优化问题描述成为一个最小二乘的问题求解

氢键H-H 5680

RK3588嵌入式AI工业部署:YOLOv11 + OpenCV实时推理系统全栈实现

接下来,你可以尝试优化模型(如量化、剪枝)、扩展功能(如多摄像头推理、结果上传到云端),让你的AI应用更加完善。不需要担心技术门槛,我们会一步步带你完成环境搭建、模型转换、部署推理的全流程,最终让你在RK3588上体验AI目标检测的丝滑快感。首先,我们需要把YOLOv11的PyTorch模型(.pt格式)转换成ONNX格式,这是模型部署的第一步。此时,你应该能看到摄像头画面中出现了实时的目标检测框,标注着检测到的物体类别和置信度。文件,这就是RK3588可运行的模型文件。文件,这就是转换后的ONNX模型。

LXY_LOVE36的博客 245

阿里云短信服务(Python3)

网站:https://market.aliyun.com/products/57126001/cmapi00040066.html 模版管理:https://openali.esandcloud.com/?spm=5176.730006-56956004-57126001-cmapi00040066.content.10.66a38d6bLd3I80 官方给的python2代码,需要改成python3代码: import ssl from urllib.parse import urlenc

木尧大兄弟 1139

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

python调用c#api接口需要密码_python调用API接口实现登陆短信验证

API说明调用地址:http://yzxyzm.market.alicloudapi.com/yzx/verifySms请求方式:POST返回类型:JSON请求参数(Query)名称类型是否必选描述phoneSTRING必选需要发送的手机号码templateIdSTRING必选模板id,联系客服人员申请成功的模板IDvariableSTRING可选模板中变量参数名,参数值有多个时使用","隔开,例...

weixin_39550410的博客 254

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

python调用电话接口_python调用API接口实现登录短信验证

API介绍调用地址:http://yzxyzm.market.alicloudapi.com/yzx/verifySms请求方式:POST返回类型:JSON请求参数(Query)名称类型是否必选描述phoneSTRING必选需要发送的手机号码templateIdSTRING必选模板id,联系客服人员申请成功的模板IDvariableSTRING可选模板中变量参数名,参数值有多个时使用","隔开,例...

weixin_36435829的博客 460

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

python自动发送短信验证码、短信通知、营销短信、语音短信

流程 发送手机号码通知或者短信,我们可以通过平台来自动批量的发送短信。 需要先在平台上面完成身份认证、签名认证、信息内容报备,平台审核通过后才可以使用。 测试 下面是以"秒赛科技"来进行测试,之前有试过阿里云,平台验证比较严格,要求是企业信息验证,个人测试不方便。 #!/usr/bin/env python # -*- coding: utf-8 -*- import requests impo...

ternence_hsu的博客 3521

python --- 短信接口开发手机验证码发送

现在网络环境下,基本上任何网站注册都会验证手机号,已达到防止机器人注册的目的。除此之外短信群发,查询回复,找回密码等相关功能也需要短信验证码功能。那么网站的验证码发送是如何实现的呢?现在我们学习一下(完整代码附在文末)。 目前市面上的短信验证码通信平台非常之多,所以可供选择的平台也多,例如阿里云,腾讯云等,介于这些通讯平台多面向企业,对于学习者不是很适合,我们本次使用的是互亿无线云通信(主要是它...

白菜先森 1万+

夜莺监控短信告警实战:如何用Python脚本对接阿里云短信服务(附完整代码)

本文详细介绍了如何为夜莺监控系统集成短信告警功能,通过编写健壮的Python脚本对接阿里云短信服务。文章提供了完整的生产级代码示例,涵盖脚本驱动机制解析、配置管理、异常处理与日志记录,并指导完成从阿里云服务配置到夜莺集成的全流程实战,帮助运维工程师构建可靠的关键告警通知通道。

weixin_29207149的博客 386
上一篇: 数据结构之图的创建
下一篇: Python基于FTP的小型传输服务器
shu_8708
博客等级 码龄10年 45粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值