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 随机数生成的代码的详细分析
May 15 Python
python实现同时给多个变量赋值的方法
Apr 30 Python
python中input()与raw_input()的区别分析
Feb 27 Python
Python开发的实用计算器完整实例
May 10 Python
解决python3爬虫无法显示中文的问题
Apr 12 Python
对命令行模式与python交互模式介绍
May 12 Python
python中计算一个列表中连续相同的元素个数方法
Jun 29 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
python3常用的数据清洗方法(小结)
Oct 31 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
Mar 11 Python
python 解决函数返回return的问题
Dec 05 Python
仅用几行Python代码就能复制她的U盘文件?
Jun 26 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
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
原生js轮播特效
2017/05/18 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
利用Vue构造器创建Form组件的通用解决方法
2018/12/03 Javascript
js尾调用优化的实现
2019/05/23 Javascript
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
numpy返回array中元素的index方法
2018/06/27 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
《九寨沟》教学反思
2014/04/08 职场文书
初中生期末评语大全
2014/04/24 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
党在我心中的演讲稿
2014/09/13 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
鲁迅故里导游词
2015/02/05 职场文书
公司开会通知
2015/04/20 职场文书
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
Python中基础数据类型 set集合知识点总结
2021/08/02 Python
python解析照片拍摄时间进行图片整理
2022/07/23 Python