持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天, 点击查看活动详情
前言
前言引入:当我们手动去实现一个功能代码的时候,比如说学校的自动安全上报,让程序每天定时运行,但是我们需要得到他程序的运行的结果,即他最后是否上报成功了需要返回给我们一个反馈,不然,哪天程序失效了,就被抓个正着...。
所以这时候我们肯定会去想,既然都实现了自动上报了,为什么不再弄一个执行完程序后,将是否上报成功的结果以短信或者邮箱的形式发送到手机上呢?(
毕竟,大学生/上班族手机基本上都不离手)
好了,到这,我们的需求非常之明确,就是在程序中增加一个信息推送的模块。
那么,如何去实现呢?当然是先百度啦
平台->聚合数据
接下来先给一段推送消息的实现模板。
# -*- coding: utf-8 -*-
import requests
def send_message(url):
content = {
"mobile": "你的手机号:11位", # 接受短信的用户手机号码
"tpl_id": "短信模板ID", # 您申请的短信模板ID,根据实际情况修改
"tpl_value": "", # 您设置的模板变量,根据实际情况修改
"key": "APPKEY", # 应用 APPKEY(应用详细页查询)
}
# 请注意这里请求方式是 get
result = requests.get(url, params=content).json()
if result:
print(result)
else:
print("请求异常")
if __name__ == '__main__':
url = "http://v.juhe.cn/sms/send"
send_message(url)
注意到我们是向一个url="http://v.juhe.cn/sms/send"中发送了请求,并且请求中的参数设置为了content,而content是以字典的形式包裹住的。这就是向一个接口发送请求的例子。里面的参数就是他接口所需要传的参数了。
上述代码中用的是聚合数据的网址。如果需要的话可自行创建账号。申请之后需要在数据中心-我的API-短信API服务,查看自己的请求Key,然后新建模板。 使用申请到的key和短信模板,套用官方给的发短信模板就可完成信息推送的demo了🎉
注意这里是短信推送服务。计费方式不大记得了,请移步到官网查看相关信息~
接下来在使用另一个短信推送平台-pushplus。这个需要关注微信公众号,信息推送是以类似于公众号的信息推送,如果喜欢这种推送形式的话,可以大胆尝试一下~
平台->pushplus
推送形式还是和刚才的模板不相上下。
首先需要微信关注pushplus推送加。然后查看其api文档。
这里给出相关的请求信息:
- 请求地址:www.pushplus.plus/send
- 请求方式:GET,POST,PUT,DELTE
- 请求参数,均支持url参数和body参数:
- Content-Type: application/json
| 参数名称 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| token | 是 | 无 | 用户令牌,可直接加到请求地址后,如:www.pushplus.plus/send/ {token} |
| title | 否 | 无 | 消息标题 |
| content | 是 | 无 | 具体消息内容,根据不同template支持不同格式 |
| topic | 否 | 无 | 群组编码,不填仅发送给自己;channel为webhook时无效 |
| template | 否 | html | 发送模板 |
| channel | 否 | 发送渠道 | |
| webhook | 否 | 无 | webhook编码 |
| callbackUrl | 否 | 无 | 发送结果回调地址 |
| timestamp | 否 | 无 | 毫秒时间戳。格式如:1632993318000。服务器时间戳大于此时间戳,则消息不会发送 |
| to | 否 | 无 | 好友令牌,微信公众号渠道填写好友令牌,企业微信渠道填写企业微信用户id |
示例一,最简单的例子
- 请求地址:www.pushplus.plus/send?token=…
- 请求方式: GET
- 说明:具体使用的时候将请求地址上的{token}替换成自己的token。content中如包含中文需要UrlEncode编码处理下。
示例二,一对多消息的例子
- 请求地址:www.pushplus.plus/send/
- 请求方式: POST
- 请求内容:
{
"token":"{token}",
"title":"标题",
"content":"消息内容",
"topic":"code",
"template":"html"
}
说明:消息将会发送给加入群组编码为code的成员
自己的token需要登录官网,然后在发送消息里面查看。
接下来粘贴上一段自己成功调用的代码:
import requests
def send_wechat(msg):
token = 'XXXXXXXXXXXX'#前边复制到那个token
title = 'title1'
content = msg
template = 'html'
url = f"https://www.pushplus.plus/send?token={token}&title={title}&content={content}&template={template}"
# print(url)
r = requests.get(url=url)
print(r.text)
if __name__ == '__main__':
msg = 'Life is short I use python'
send_wechat(msg)
相信大家对推送消息有了一定的理解了,这下快去动手实现自己想实现的功能吧,比如每天给xxx发送天气提示😝😝