#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import requests
import json
from urllib.request import urlopen
from threading import Timer
class WeChat:
def __init__(self):
self.CORPID = 'wx0**********53046f' #企业ID,在管理后台获取
self.CORPSECRET = 'HtbfQASv4mkx_*****************Hn4qrn5_J6s'#自建应用的Secret,每个自建应用里都有单独的secret
self.AGENTID = '100****' #应用ID,在后台应用中获取
self.TOUSER = "0100*****" # 接收者用户名,多个用户用|分割
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)
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('./tmp/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):
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": message
},
"safe": "0"
}
send_msges=(bytes(json.dumps(send_values), 'utf-8'))
respone = requests.post(send_url, send_msges)
respone = respone.json() #当返回的数据是json串的时候直接用.json即可将respone转换成字典
return respone["errmsg"]
#检测上海景峰网站www.jfzhiyao.com访问是否正常,每10秒通过微信发送一次消息!
def webping():
#sum=0
try:
url = 'http://www.jfzhiyao.com'
resp = urlopen(url)
code = resp.getcode()
#print('the result is :', code)
if code == 200:
if __name__ == '__main__':
wx = WeChat()
print('the result is :', code)
print('网站正常!')
wx.send_data("www.jfzhiyao.com 访问正常!\n 网站状态持续检测中……")
except:
if __name__ == '__main__':
print('网站无法访问,请检查服务器!')
wx = WeChat()
wx.send_data("www.jfzhiyao.com 网站故障!!\n 请立即处理!!")
Timer(300.0, webping).start() # 每10秒钟检测一次
t = Timer(300.0, webping)
t.start()
自动检测公司网站是否正常访问
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 摘要:Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用z...
- import subprocess import re import requests import json f...