利用微信企业号发送报警信息

news/2024/10/17 12:36:56/

开发环境

操作系统:CentOS 7.4

Python版本 :3.6

模块:json,requests

1. 微信企业号设置

1.1 企业号注册

微信企业号注册是免费的而且无需企业认证,大家放心使用

注册地址:

https://mp.weixin.qq.com/

Alt text

点击企业微信并填写信息

Alt text

1.2 企业号设置

注册好之后我们邀请一些同事进来后进行设置,以便于我们更好的利用

通讯录设置

Alt text Alt text

这里点击标签详情可以看到标签的ID号,后面程序会用的

增加应用

微信企业号发送信息需要创建一个应用,我们这里创建一个服务器报警的应用

Alt text

Alt text

接下来设置应用的可见范围,指的是这个应用可以发送的范围

Alt text

这里我们选择最上层,即公司的名称

这里请记住AgentId和Secret

2. 使用微信企业号发送信息

调试工具及API文档

http://qydev.weixin.qq.com/debug

https://work.weixin.qq.com/api/doc

2.1 发送信息文档

需要安装request模块

pip3 install requests

我们根据下面的文档进行发送信息

https://work.weixin.qq.com/api/doc#10167

Alt text

2.2 获取Token

根据上面的文档需要首先获取Token

def GetToken():Corpid='ww3083060923921313121'                                                                                # 企业IDCorpSecret='5_vWbwROiUQJkc2wBEPxkO0slPe2NsJ_qpvx2bW_M'                                                        #企业号应用的Secret值gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + Corpid + '&corpsecret=' + CorpSecret  #print  (gettoken_url)try:token_file =requests.get(gettoken_url)except Exception as e:print (e)token_data = token_file.texttoken_json = json.loads(token_data)token_json.keys()token = token_json['access_token']return token

CorpId 在我的企业中可以看到

Alt text

CorpSecret为上面应用设置中的Secret值

2.3 发送信息至指定人员

def Send_Message(Token,Tag,Subject,Content):post_data={'touser' : '',                         #通讯录用户ID'toparty' :'',                         #通讯录组ID'totag' : Tag,                         #通讯录标签ID'msgtype' : 'text','agentid' : 1000002,                   #企业号应用的agentid'text' : {'content' : Subject+'\n'+Content},'safe':0}#print (post_data)post_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='+Token#json_post_data = json.dumps(post_data,False,False)try:r =requests.post(post_url,data=json.dumps(post_data))# request_post = urllib.request.urlopen(post_url,json_post_data.encode(encoding='UTF8'))except Exception as e:print (e)#print (request_post.text)

微信企业号发送信息的对象支持三种方式:

  • 人员名称

  • 人员群组

  • 人员标签

以上三种只要有一种是正确的则可以发送成功

这里我们为了方便管理,使用标签进行发送,多个ID用|分开

这个函数的参数介绍如下:

  • Token: 上面GetToken函数获取到的值

  • Tag: 我们设置的Tag的 ID号,号码可通过上面通讯录管理看到

  • agentid: 我们应用的ID号,上面应用设置中的AgentId值

  • Subject和Content 分别为主题和内容

这里我们就可以通过微信企业号发送信息了,同时它还支持图片链接等,大家可以根据API文档自行修改

源代码(https://github.com/bsbforever/maintence/blob/master/wechat_alert.py)

#!/usr/bin/python
#coding=utf8
import urllib
import requests
import json
import sysdef GetToken():Corpid='ww3083060923921313121'                                                                                # 企业IDCorpSecret='5_vWbwROiUQJkc2wBEPxkO0slPe2NsJ_qpvx2bW_M'                                                        #企业号应用的Secret值gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + Corpid + '&corpsecret=' + CorpSecret  #print  (gettoken_url)try:token_file =requests.get(gettoken_url)except Exception as e:print (e)token_data = token_file.texttoken_json = json.loads(token_data)token_json.keys()token = token_json['access_token']return tokendef Send_Message(Token,Tag,Subject,Content):post_data={'touser' : '',                         #通讯录用户ID'toparty' :'',                         #通讯录组ID'totag' : Tag,                         #通讯录标签ID'msgtype' : 'text','agentid' : 1000002,                   #企业号应用的agentid'text' : {'content' : Subject+'\n'+Content},'safe':0}#print (post_data)post_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='+Token#json_post_data = json.dumps(post_data,False,False)try:r =requests.post(post_url,data=json.dumps(post_data))# request_post = urllib.request.urlopen(post_url,json_post_data.encode(encoding='UTF8'))except Exception as e:print (e)#print (request_post.text)if __name__ == '__main__':Corpid='ww308306023cc53c84'CorpSecret='5_vWbwROiUQJkc2wBEPsdPeGelovs2NsJ_qpvx2bW_M'#User = sys.argv[1]#Party=sys.argv[2]#Subject = sys.argv[3]#Content = sys.argv[4]Tag='2'Subject='服务器空间报警'Content='磁盘满啦'Token=GetToken()Send_Message(Token,Tag,Subject,Content)

 


http://www.ppmy.cn/news/747000.html

相关文章

网络安全之 ARP 欺骗防护

ARP 协议 什么是 MAC 地址 MAC 地址是固化在网卡上的网络标识,由 Ieee802 标准规定。 什么是广播 向同一个网段内的设备,发送数据包,广播 IP 地址是同网段最后一个 IP 地址。 认识 ARP 协议 ARP 的全称是地址解析协议,我们通…

警惕!又一起网络钓鱼攻击事件:Uniswap被盗810万美元

2022年7月12日,Uniswap V3 平台遭受了网络钓鱼攻击。据Tokenview数据显示,攻击者已盗取7,573枚ETH,价值约810万美元。 CZ预警 Binance首席执行官CZ发推提醒,黑客在Uniswap V3平台上窃取了4,295枚ETH。最初CZ将这次攻击解释为Uni…

黑客可通过伪Wi-Fi信号窃取用户数据

网络研究人员证明,黑客可以通过一种利用Wi-Fi信号作为隐蔽通道的新颖技术从气隙隔离的计算机中窃取敏感数据,这令人惊讶的是,不需要在目标系统上使用Wi-Fi硬件。 该攻击被称为“ AIR-FI ”,其攻击在于在受感染的系统中部署经过特殊…

WiFi 协议漏洞可用于劫持网络流量

聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 网络安全公司的研究员在 IEEE 802.11 WiFi 协议标准中发现一个根本性漏洞,可导致攻击者诱骗访问点以明文形式泄漏网络框架。 WiFi 框架是由表头、数据payload 和封装尾组成的数…

IP地址被盗用解决方案

盗用IP地址也算是屡见不鲜的事情了,在IPV4的时代,IP地址是一种稀缺的资源,也由此衍生了盗用IP地址的做法;到到了IPV6时代,IPV6地址个数为16^322^128个,大约是3.4E38,以地球目前的容量来看&#…

手把手教你防止无线网络被盗用

[原创教程] 手把手教你防止无线网络被盗用 跳转到 楼 只看该作者 楼主 发表于 2009-12-14 22:01 | 倒序浏览 - 本篇以全文字形式描述防止无线网络被盗用,步骤只有2个相当的简单,就算是菜鸟中的战斗机也能学会。希望你耐心的看,看明白后保证…

邮箱被盗,受到网络钓鱼攻击,如何甄别规避?

文章目录 前言🚀 一、概述🚀 二、事件分析🌈 2.1 邮件投递🌈 2.2 实施诈骗 🚀 三、资产分析🌈 3.1 资产特点🌈 3.2 溯源结果 前言 微步情报局监测发现多起黑产组织针对国内手机用户的邮件和短信…

网络入侵敲响警钟,数据安全不容忽视!

提起网络安全,很多人都会想到黑客入侵,DDoS攻击,这些大多数是对个人电脑的攻击,但实际上,在网络世界里,个人与企业同样需要重视网络安全,尤其是很多企业把数据上云,这个时候对数据资…