用python发送短消息(基于阿里云平台)
新版短信接口在线测试页面:https://api.aliyun.com/new#/?product=Dysmsapi&api=SendSms¶ms={}&tab=DEMO&lang=PYTHON
接口调用步骤:
# git clone https://github.com/aliyun/aliyun-openapi-python-sdk.git
# cd aliyun-openapi-python-sdk/aliyun-python-sdk-core
# python setup.py install (python2)
# vim sendsms.py
#!/usr/bin/env python #coding=utf-8 from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest client = AcsClient('LTAIqEab3HRpRm34', 'TrnLKl5Qdd7aiAxsUF9v57635y08IO', 'default') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('PhoneNumbers', '15800000000') request.add_query_param('SignName', '小小') request.add_query_param('TemplateCode', 'SMS_155355731') request.add_query_param('TemplateParam', '{"name":"test","state":"haha"}') response = client.do_action(request) # python2: print(response) print(response) #print(str(response, encoding = 'utf-8'))
阿里云短信服务文档使用指引:https://help.aliyun.com/document_detail/59210.html?spm=5176.10695662.1996646101.searchclickresult.2c3870daC2i06w
TemplateParam :短信模板变量替换成JSON串 比如:{"code":"1234","product":"ytx"}
一、首先,注册阿里云账号一个,完成实名认证,然后在产品中找到短信服务,选择免费开通
二、控制台生成后,进入短信控制台,获取你的AK,保留备用,后面修改代码时要复制粘贴进去。
三、左边申请签名,右边添加模板,这一步你的签名资料需要等系统确认才能成功,不过签名模板都有默认的可以直接使用
测试的可以直接用系统默认的“阿里云短信测试专用”签名,无需等待
模板就是下图这样的,将给不同人的短消息的共性部分做一个规划,个性部分作为变量。发送消息的时候选择模板,然后填入变量,构成完整的短消息内容
四、现在,去下载区下载python支持包和演示代码,短信服务 > 开发指南 > SDK及DEMO下载 > SDK及DEMO下载 :
https://help.aliyun.com/document_detail/55359.html?spm=5176.10695662.1996646101.searchclickresult.6592602351ziUH
五、展开压缩包,得到的文件是这样的
六、修改代码,不修改是不能用的,具体修改如下
1、AK配置文件中填入步骤二中获取的AK值
2、演示程序如下修改
3、现在直接运行还是不行,因为还需要运行一次安装程序
这样代码就执行成功了