python实现通过企业微信发送消息
实现了通过企业微信发送消息,平时用于运维的告警还是不错的,相对于邮件来说,实时性更高,不过就是企业微信比较麻烦,此处不做过多解释。
企业微信api的详细请看:http://work.weixin.qq.com/api/doc#10167
话不多说,直接代码
#!/usr/bin/env python
# -*- coding: utf-8 -*- # @Time : 2018/4/25 17:06
# @Author : zms
# @Site :
# @File : WeChat.py
# @Software: PyCharm Community Edition # !/usr/bin/env python
# coding:utf-8
# file wechat.py import time
import requests
import json import sys reload(sys)
sys.setdefaultencoding('utf8') class WeChat:
def __init__(self):
self.CORPID = '***********'
self.CORPSECRET = '*********************************'
self.AGENTID = '**************'
self.TOUSER = "**********" # 接收者用户名 def _get_access_token(self):
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
values = {'corpid': self.CORPID,
'corpsecret': self.CORPSECRET,
}
req = requests.post(url, params=values)
data = json.loads(req.text)
# print data
return data["access_token"] def get_access_token(self):
try:
with open('./tmp/access_token.conf', 'r') as f:
t, access_token = f.read().split()
except:
with open('./tmp/access_token.conf', 'w') as f:
access_token = self._get_access_token()
cur_time = time.time()
f.write('\t'.join([str(cur_time), access_token]))
return access_token
else:
cur_time = time.time()
if 0 < cur_time - float(t) < 7260:
return access_token
else:
with open('./access_token.conf', 'w') as f:
access_token = self._get_access_token()
f.write('\t'.join([str(cur_time), access_token]))
return access_token def send_data(self, message):
msg = message.encode('utf-8')
send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + self.get_access_token()
send_values = {
"touser": self.TOUSER,
"msgtype": "text",
"agentid": self.AGENTID,
"text": {
"content": msg
},
"safe": ""
}
send_data = '{"msgtype": "text", "safe": "0", "agentid": %s, "touser": "%s", "text": {"content": "%s"}}' % (
self.AGENTID, self.TOUSER, msg)
r = requests.post(send_url, send_data)
# print r.content
return r.content if __name__ == '__main__':
wx = WeChat()
wx.send_data("test")
python实现通过企业微信发送消息的更多相关文章
- .netcore--Controller后台实现企业微信发送消息
一.获得企业微信管理端权限,登录企业企业微信管理端界面,并创建应用,如下图中的[网站消息推送] 二.参见企业微信API文献,根据corpid=ID&corpsecret=SECRET(其中企业 ...
- python登录网页版微信发送消息
# coding=utf-8 import datetime import time from selenium import webdriver url = "https://wx2.qq ...
- python 实现微信发送消息
背景:利用Python来登入你个人的手机微信,之后向朋友发送消息,发送的消息可以来源于网页.下面的例子就是取得当前日元的汇率,之后发送自己的某一个朋友的手机上 环境:Python3,JetBrains ...
- Java发送企业微信应用消息
1.发送消息与被动回复消息 (1)流程不同:发送消息是第三方服务器主动通知微信服务器向用户发消息.而被动回复消息是 用户发送消息之后,微信服务器将消息传递给 第三方服务器,第三方服务器接收到消息后,再 ...
- python 企业微信发送文件
import os import json import urllib3 class WinxinApi(object): def __init__(self,corpid,secret,chatid ...
- Python Django对接企业微信第三方服务回调验证的一些坑
今天公司老总,叫我把公司的企业微信,服务商管理后台中的本地应用进行回调验证. 听起来一脸懵逼,没搞过企业微信对接情况.一头雾水,不知道如何下手. 先讲解一下,企业微信情况. 登录到企业微信后,右上角服 ...
- zabbix使用企业微信发送告警信息
用qq邮箱发送告警信息一点都不方便,看到网上说也可以使用微信发送告警信息,所以就试了一下. 首先先试着在虚拟主机上给微信发送信息. 我们需要注册企业微信,注册时有一个地方需要注意,就是注册时选择组织, ...
- 【转】odoo 10的企业微信发送程序介绍
本文介绍的微信发送程序不是独立的模块,是某企业应用的一部分, 源码可在京津冀odoo技术交流群的群共享中下载. [1]基本配置 在work.weixin.qq.com上注册一个企业后,会得到企业的 ...
- zabbix微信发送消息脚本
cat /usr/local/zabbix/share/zabbix/alertscripts/sed_messages_weixin.py python2.x #!/usr/bin/env pyth ...
随机推荐
- Leetcode 7. Reverse Integer(水)
7. Reverse Integer Easy Given a 32-bit signed integer, reverse digits of an integer. Example 1: Inpu ...
- 配置maven方法
配置maven方法 1.官网下载maven, http://maven.apache.org/download.cgi Only the binaries are required, so look ...
- 5分钟让你知道什么是PKI
转:https://www.cnblogs.com/jerain6312/p/8572841.html 前言 Public Key Infrastructure(PKI),中文叫做公开密钥基础设施,也 ...
- 002-es5.4.3结合spring-data-elasticsearch3.0.0.0使用
一.使用前设置 1.elasticsearch开启 cmd下,进入安装目录 cd D:\developToool\elasticsearch-5.4.3 elasticsearch # 或者后台运行 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第5节 String类_7_字符串的转换相关方法
sequence n.顺序:次序:一系列:一连串 v.按顺序排列:测定(整套基因或分子成分的)序列 网络连续:数列:时序 butes.fori出循环 replace Ctrl+字母N也可以打开 输入s ...
- 字符串中的TRIM操作
std::string& ltrim(std::string& str, const std::string& chars = "\t\n\v\f\r ") ...
- 查询SQL Server数据库所有表字段备注
SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull ...
- 浅谈Java反射机制 之 使用类的 属性、方法和构造函数
前面两篇我们总结了Java反射机制如何获取类的字节码,如何获取构造函数,属性和方法, 这篇我们将进一步验证如何使用我们获取到的属性.方法以及构造函数 1.使用 反射 获取到的 属性 import ja ...
- day15生成器send方法,递归,匿名函数,max结合匿名工作原理,常用的内置函数
复习 ''' 1.带参装饰器 - 自定义 | wraps def wrap(info) def outer1(func): from functools import wraps @wraps(fun ...
- layui基本使用(动态获取数据,并把需要的数据传到新打开的窗口)
<div class="xiaoxi">\n' + ' <div class="layui-row">\n' + ' <input ...