腾讯企业微信应用消息发送有几步:1、注册一个企业微信、创建组织;2、新建应用;3、获取access_token;4、发送应用消息;5、在腾讯企业微信的应用中看到消息。代码如下(基于Python3开发):
import socket import requests """检查指定服务端口是否存在,不存在则发送企业微信通知给指定的企业微信部门成员""" # 1、定义入参,此处根据实际情况填入 """ ip 是指定服务端口的ipv4地址 port_list 是指定要检查的服务端口,列表中可填入多个服务端口,后面循环检查 url1 是企业微信access_token的获取地址 url2 是企业微信发送应用通知地址 corpid 是企业微信给每个企业的企业ID,在企业信息处可查 corpsecret 是企业微信中每个自行创建的应用的密钥 agentid 是应用的一个ID """ ip = '127.0.0.1' port_list = [80, 8000, 3306] url1 = "https://qyapi.weixin.qq.com/cgi-bin/gettoken" url2 = "https://qyapi.weixin.qq.com/cgi-bin/message/send" corpid = "xxxx" corpsecret = "xxxx" agentid = xxxx # 2、获取access_token函数,有了这个token后续才可以发消息 def get_token(url, corpid, corpsecret): param = { "corpid": corpid, "corpsecret": corpsecret } html = requests.get(url, params=param) token_json = html.json() access_token = token_json["access_token"] return access_token # 3、发送应用消息 def post_message(url, access_token, agentid, content): param = { "access_token": access_token } data = { "touser": "@all", "msgtype": "text", "agentid": agentid, "text": { "content": content } } requests.post(url, params=param, json=data) # 4、循环检查服务端口,端口不存在会发送企业微信消息,消息发送过程:检查端口 > 获取access_token > 发送消息 for port in port_list: try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(1) result = sock.connect_ex((ip, port)) if result != 0: content = "地址:{} 端口:{} 是不通的。".format(ip, port) access_token = get_token(url1, corpid, corpsecret) post_message(url2, access_token, agentid, content) sock.close() except Exception as e: content = "地址:{} 端口:{} 是不通的。\n报错:{}".format(ip, port, e) access_token = get_token(url1, corpid, corpsecret) post_message(url2, access_token, agentid, content)
上面的代码样例,是基于服务端口循环检查再进行消息发送(第4点),其中access_token获取(第2点)、消息发送(第3点)是以函数形式进行调用,因此只需按要求填写代码开头的入参即可(第1点)。接口开发说明:
https://developer.work.weixin.qq.com/document/path/91039
https://developer.work.weixin.qq.com/document/path/90236