python入门免费教程(0基础上手python编程,实践URL监控+企业微信机器人告警娄烨电影被骂变态,网友:为博眼球牺牲女演员搞色情,这是艺术?)

wufei123 发布于 2024-03-04 阅读(51)

作者:王忘杰全民制作人大家好,我是学习python两天半的练习生王忘杰,喜欢路由交换、linux、网络安全,开整!这是我的第二篇0基础python文章,请大家支持,谢谢~开发思路用于监控指定的URL,在我的场景中,我是从腾讯VPS上监控公司宽带出口,当URL访问超时时,即为宽带故障。

设计思路很简单,访问失败发送告警,访问成功发送恢复通知,同时要使用配置文件进行配置,防止持续重复告警。绘制开发流程图

使用python语言实现#!/usr/bin/python3import requestsimport timeimport jsonimport os# 监测URL是否正常响应def url_check(url):    # 当前时间    check_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

   try:        # 请求URL, 设置3s超时, 忽略SSL证书        r = requests.get(url, timeout=3, verify=False)        if r.status_code == 200:

           fo = open(config,"r")            line = fo.read(1)            print(line)            #判断配置文件内容            if line == "1":

               print("发送报警")                fo.close()                fo = open(config, "w")                fo.write(0)

               print("配置重置为0")                # 请求响应状态                msg = "监控的URL:%s%sURL恢复状态正常:%s%s监测时间:%s" % (

               url, "nn", r.status_code, "nn", check_time)                # 推送消息                yun_push(msg)

           else:                print("当前配置为",line)                fo = open(config, "w")                fo.write(0)

               print("配置重置为0")        else:            fo = open(config, "r")            line = fo.read(1)

           print(line)            if line == "1":                print("退出程序")            else:                print("发送报警")

               fo.close()                fo = open(config, "w")                fo.write(1)                print("配置重置为1")                # 请求响应状态                msg = "监控的URL:%s%sURL访问异常:%s%s监测时间:%s" % (

                   url, "nn", r.status_code, "nn", check_time)                # 推送消息                yun_push(msg)

   except:        fo = open(config, "r")        line = fo.read(1)        print(line)        if line == "1":

           print("退出程序")        else:            print("发送报警")            fo.close()            fo = open(config, "w")

           fo.write(1)            print("配置重置为1")            # 请求响应状态            msg = "监控的URL:%s%sURL访问失败,无法连接%s监测时间:%s" % (

               url, "nn", "nn", check_time)            # 推送消息            yun_push(msg)def yun_push(content):

   url = https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=用自己的    s = json.dumps({msgtype: text, text: {"content" : content}})

   print(requests.post(url, data=s).text)if __name__ == __main__:    #判断配置文件是否存在,不存在则生成配置文件并退出,配置文件则存在执行    config = ./baidu.config

   if not os.path.exists(config):        print("配置文件不存在")        file = open(config,w)        file.close()

       print("配置文件已生成")    else:        print("配置文件存在,执行URL检测")        url_check("https://www.baidu.com/")

运行效果

正式使用在VPS部署python脚本,并设置定时任务即可查看文章精彩评论,请前往什么值得买进行阅读互动

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻93839