#!/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'? #企業(yè)ID,在管理后臺(tái)獲取
? ? ? ? self.CORPSECRET = 'HtbfQASv4mkx_*****************Hn4qrn5_J6s'#自建應(yīng)用的Secret,每個(gè)自建應(yīng)用里都有單獨(dú)的secret
? ? ? ? self.AGENTID = '100****'? #應(yīng)用ID,在后臺(tái)應(yīng)用中獲取
? ? ? ? self.TOUSER = "0100*****"? # 接收者用戶名,多個(gè)用戶用|分割
? ? 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()? #當(dāng)返回的數(shù)據(jù)是json串的時(shí)候直接用.json即可將respone轉(zhuǎn)換成字典
? ? ? ? return respone["errmsg"]
#檢測(cè)上海景峰網(wǎng)站www.jfzhiyao.com訪問是否正常,每10秒通過(guò)微信發(fā)送一次消息!
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('網(wǎng)站正常!')
? ? ? ? ? ? ? ? wx.send_data("www.jfzhiyao.com 訪問正常!\n 網(wǎng)站狀態(tài)持續(xù)檢測(cè)中……")
? ? except:
? ? ? ? if __name__ == '__main__':
? ? ? ? ? ? print('網(wǎng)站無(wú)法訪問,請(qǐng)檢查服務(wù)器!')
? ? ? ? ? ? wx = WeChat()
? ? ? ? ? ? wx.send_data("www.jfzhiyao.com 網(wǎng)站故障??!\n 請(qǐng)立即處理?。?)
? ? Timer(300.0, webping).start() # 每10秒鐘檢測(cè)一次
t = Timer(300.0, webping)
t.start()
自動(dòng)檢測(cè)公司網(wǎng)站是否正常訪問
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- GIT方式:git clone https://github.com/huangantai/QywxPython....
- 摘要:Zabbix可以通過(guò)多種方式把告警信息發(fā)送到指定人,常用的有郵件,短信報(bào)警方式,但是越來(lái)越多的企業(yè)開始使用z...
- import subprocess import re import requests import json f...
- 最近看見我的一個(gè)朋友些的一個(gè)爬取天氣預(yù)報(bào)的爬蟲不錯(cuò),后來(lái)發(fā)現(xiàn)每次執(zhí)行發(fā)送的時(shí)候非常的不方便,每次都要掃描二維碼,就...