python3.8 微信发送服务器监控报警消息代码实现


Posted in Python onNovember 05, 2019

这篇文章主要介绍了python3.8 微信发送服务器监控报警消息代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

python版本

>>> import sys
 >>> sys.version
 '3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)]'

代码

urllib是python3.8内置的

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import urllib.request,urllib.error,json
import sys

class WeChat(object):
    __token_id = ''
    # init attribute
    def __init__(self,url):
        self.__url = url.rstrip('/')
        self.__corpid = '[企业号的标识]'
        self.__secret = '[管理组凭证密钥]'

    # Get TokenID
    def authID(self):
        params = {'corpid':self.__corpid, 'corpsecret':self.__secret}
        data = urllib.parse.urlencode(params)

        content = self.getToken(data)

        try:
            self.__token_id = content['access_token']
            # print content['access_token']
        except KeyError:
            raise KeyError

    # Establish a connection
    def getToken(self,data,url_prefix='/'):
        url = self.__url + url_prefix + 'gettoken?'
        try:
            response = urllib.request.Request(url + data)
        except KeyError:
            raise KeyError
        result = urllib.request.urlopen(response)
        content = json.loads(result.read())
        return content

    # Get sendmessage url
    def postData(self,data,url_prefix='/'):
        url = self.__url + url_prefix + 'message/send?access_token=%s' % self.__token_id
        request = urllib.request.Request(url,data.encode())
        print(url)
        print(data)
        try:
            result = urllib.request.urlopen(request)
        except urllib.error.HTTPError as e:
            if hasattr(e,'reason'):
                print('reason',e.reason)
            elif hasattr(e,'code'):
                print('code',e.code)
            return 0
        else:
            content = json.loads(result.read())
            result.close()
        return content

    # send message
    def sendMessage(self,touser,message):

        self.authID()

        data = json.dumps({
            'touser':"[企业号中的用户帐号]",
            'toparty':"[企业号中的部门id]",
            'msgtype':"[消息类型]",
            'agentid':"[企业号中的应用id]",
            'text':{
                'content':message
            },
            'safe':"0"
        },ensure_ascii=False)

        response = self.postData(data)
        print(response)


if __name__ == '__main__':
    a = WeChat('https://qyapi.weixin.qq.com/cgi-bin')
    a.sendMessage(sys.argv[1],sys.argv[3])

效果

python3.8 微信发送服务器监控报警消息代码实现

python3.8 微信发送服务器监控报警消息代码实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中最常用的操作列表的几种方法归纳
Apr 24 Python
在Python中使用HTMLParser解析HTML的教程
Apr 29 Python
简单介绍Python下自己编写web框架的一些要点
Apr 29 Python
实例讲解Python中global语句下全局变量的值的修改
Jun 16 Python
详解Python 模拟实现生产者消费者模式的实例
Aug 10 Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 Python
利用python实现简单的邮件发送客户端示例
Dec 23 Python
Python中enumerate()函数编写更Pythonic的循环
Mar 06 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
Apr 26 Python
浅谈PySpark SQL 相关知识介绍
Jun 14 Python
Django实现将一个字典传到前端显示出来
Apr 03 Python
Python计算信息熵实例
Jun 18 Python
python SVD压缩图像的实现代码
Nov 05 #Python
Django REST框架创建一个简单的Api实例讲解
Nov 05 #Python
python中for循环变量作用域及用法详解
Nov 05 #Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
Nov 05 #Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 #Python
Python socket模块ftp传输文件过程解析
Nov 05 #Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 #Python
You might like
BBS(php & mysql)完整版(四)
2006/10/09 PHP
PHP获取表单textarea数据中的换行问题
2010/09/10 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
pip命令无法使用的解决方法
2018/06/12 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
python实现飞机大战游戏
2020/10/26 Python
python如何实现数据的线性拟合
2019/07/19 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
Python阶乘求和的代码详解
2020/02/14 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
护理职业生涯规划书
2014/01/24 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
小学庆六一活动方案
2014/02/28 职场文书
要账委托书范本
2014/09/15 职场文书
消费者理赔投诉书
2015/07/02 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
python源码剖析之PyObject详解
2021/05/18 Python
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers