用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
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#!/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,保留备用,后面修改代码时要复制粘贴进去。
三、左边申请签名,右边添加模板,这一步你的签名资料需要等系统确认才能成功,不过签名模板都有默认的可以直接使用
测试的可以直接用系统默认的“阿里云短信测试专用”签名,无需等待
img模板就是下图这样的,将给不同人的短消息的共性部分做一个规划,个性部分作为变量。发送消息的时候选择模板,然后填入变量,构成完整的短消息内容
img四、现在,去下载区下载python支持包和演示代码,短信服务 > 开发指南 > SDK及DEMO下载 > SDK及DEMO下载 :
img五、展开压缩包,得到的文件是这样的
img六、修改代码,不修改是不能用的,具体修改如下
1、AK配置文件中填入步骤二中获取的AK值
2、演示程序如下修改
img3、现在直接运行还是不行,因为还需要运行一次安装程序
img这样代码就执行成功了