Python收藏馆Python

用python发送短消息(基于阿里云平台)

2019-08-13  本文已影响43人  我爱学python

新版短信接口在线测试页面:https://api.aliyun.com/new#/?product=Dysmsapi&api=SendSms&params={}&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下载 :

https://help.aliyun.com/document_detail/55359.html?spm=5176.10695662.1996646101.searchclickresult.6592602351ziUH

img

五、展开压缩包,得到的文件是这样的

img

六、修改代码,不修改是不能用的,具体修改如下
1、AK配置文件中填入步骤二中获取的AK值

img

2、演示程序如下修改

img

3、现在直接运行还是不行,因为还需要运行一次安装程序

img

这样代码就执行成功了

上一篇下一篇

猜你喜欢

热点阅读