「Python」推送消息的简易实现

简介: 前言引入:当我们手动去实现一个功能代码的时候,比如说学校的自动安全上报,让程序每天定时运行,但是我们需要得到他程序的运行的结果,即他最后是否上报成功了需要返回给我们一个反馈,不然,哪天程序失效了,就被抓个正着...。

「Python」推送消息的简易实现


前言


前言引入:当我们手动去实现一个功能代码的时候,比如说学校的自动安全上报,让程序每天定时运行,但是我们需要得到他程序的运行的结果,即他最后是否上报成功了需要返回给我们一个反馈,不然,哪天程序失效了,就被抓个正着...。


所以这时候我们肯定会去想,既然都实现了自动上报了,为什么不再弄一个执行完程序后,将是否上报成功的结果以短信或者邮箱的形式发送到手机上呢?(毕竟,大学生/上班族手机基本上都不离手


好了,到这,我们的需求非常之明确,就是在程序中增加一个信息推送的模块。


那么,如何去实现呢?当然是先百度啦


平台->聚合数据


接下来先给一段推送消息的实现模板。

# -*- 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 wechat 发送渠道
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需要登录官网,然后在发送消息里面查看。

1.png

接下来粘贴上一段自己成功调用的代码:

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)

相信大家对推送消息有了一定的理解了,这下快去动手实现自己想实现的功能吧。

相关文章
Python print() 打印两个 list ,实现中间换行
Python print() 打印两个 list ,实现中间换行
|
Python
Python实现因子分析(附案例实战)
Python实现因子分析(附案例实战)
1124 0
Python实现因子分析(附案例实战)
|
JSON 区块链 数据格式
Python实现一个简单的区块链
本文介绍如何用Python实现一个简单的区块链。
491 0
|
存储 数据安全/隐私保护 计算机视觉
python 实现pacs功能 推送下拉影像
python 实现dcmtk关联pacs功能 推送下拉影像
233 0
python 实现pacs功能 推送下拉影像
|
算法 大数据 Python
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
126 2
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
|
前端开发 Python
Leecode加法题目3个 每日练习 Python实现
Leecode加法题目3个 每日练习 Python实现
88 0
Leecode加法题目3个 每日练习 Python实现
|
iOS开发 Python
Python实现微信消息连续发送
Python实现微信消息连续发送
Python实现微信消息连续发送
python实现微信小游戏“飞机大战”
python实现微信小游戏“飞机大战”
python实现微信小游戏“飞机大战”
|
Python
Python分分钟实现图书管理系统(含代码)
Python分分钟实现图书管理系统(含代码)
319 0
|
JSON 算法 数据安全/隐私保护
Python:使用PyJWT实现JSON Web Tokens加密解密
Python:使用PyJWT实现JSON Web Tokens加密解密
252 0