首页 >>  正文

python编程

来源:baiyundou.net   日期:2024-07-03

作者:王忘杰

全民制作人大家好,我是学习python两天半的练习生王忘杰,喜欢路由交换、linux、网络安全,开整!这是我的第二篇0基础python文章,请大家支持,谢谢~

开发思路
用于监控指定的URL,在我的场景中,我是从腾讯VPS上监控公司宽带出口,当URL访问超时时,即为宽带故障。
设计思路很简单,访问失败发送告警,访问成功发送恢复通知,同时要使用配置文件进行配置,防止持续重复告警。

绘制开发流程图


使用python语言实现

#!/usr/bin/python3import requests
import time
import json
import 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脚本,并设置定时任务即可


查看文章精彩评论,请前往什么值得买进行阅读互动

","gnid":"96c6a833d821e0468","img_data":[{"flag":2,"img":[{"desc":"","height":"274","title":"","url":"https://p0.ssl.img.360kuai.com/t015394727360c3cdc6.jpg","width":"600"},{"desc":"","height":"616","title":"","url":"https://p0.ssl.img.360kuai.com/t016ff92dc7f2116c3c.jpg","width":"359"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1683810195000,"pure":"","rawurl":"http://zm.news.so.com/41b69145e2771cb08cd67bac9f05abc6","redirect":0,"rptid":"4cdf902d8b0d23e5","rss_ext":[],"s":"t","src":"什么值得买","tag":[{"clk":"ktechnology_1:机器人","k":"机器人","u":""}],"title":"0基础上手python编程,实践URL监控+企业微信机器人告警

郝盲冉2399学习Python编程语言难吗 -
毋忽肾18595956774 ______ 答案是:不难,比起C语言、C#、C++和JAVA这些编程语言相对容易很多. 学习Python编程语言,动手实践是一件非常愉快的事情,遇到了程序上的问题,经常自己思考研究,从而解决问题,自己的技术水平和解决问题的能力都得到 了大大的提升.但是,如果是你零基础起步,自己一点点照着书本学习,遇到困难,得不到解决,长期下去,会对学习编程产生厌恶,最终放弃学习.

郝盲冉2399零基础初学者应该怎么去学习Python语言编程 -
毋忽肾18595956774 ______ 1>.去了解计算机的基本组成,计算机的发展史和编程的发展史,看起来和编程没什么关系,潜在的影响还是十分大的; 2>.选择一门简单的语言作为入门语严; 3>.学会使用搜索引擎; 4>.知道如何看书; 5>.要”像”个高手; 6.>应具备的学习态度;

郝盲冉2399用python编写程序 -
毋忽肾18595956774 ______ s=read("字符串")str=read("子字符串:")print(s.replace(str,' '))

郝盲冉2399如何像Python高手一样编程 -
毋忽肾18595956774 ______ 一、Python之禅(The Zen of Python) The Zen of Python是Python语言的指导原则,遵循这些基本原则,你就可以像个Pythonista一样编程.具体内容你可以在Python命令行输入import this看到: The Zen of Python, by Tim Peters Beautiful is ...

郝盲冉2399Python一般适合开发什么
毋忽肾18595956774 ______ python适合做什么开发 Python不仅仅是一个设计优秀的程序语言,它能够完成现实中的各种任务,你可以在任何场合应用Python,从网站和游戏开发到机器人和航天飞机控制. 1、python可以用于系统编程.Python对操作系统服务的内置接口,...

郝盲冉2399大家都在学的编程语言Python,可以用来干什么 -
毋忽肾18595956774 ______ 1. Web开发 最火的Python web框架Django,支持异步高并发的Tornado框架,短小精悍的flask,bottle,Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率web框架) 2. 网络...

郝盲冉2399Python语言做什么的 -
毋忽肾18595956774 ______ Python语言是一种面向对象的动态类型语言.Python语言最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发.作为一种解释型脚本语言,可以在以下方面加以应用:1...

郝盲冉2399关于python的编程 -
毋忽肾18595956774 ______ 前面有一句话.importSkeleton, 需要运行这个函数,指定你要输入的文件名.这样numBones就可以计算出来了.最好在所有代码前加一句global numBones这样不会因为离开函数就找不到定义.

郝盲冉2399对编程零基础想学python编程,首先要学哪些?
毋忽肾18595956774 ______ 零基础就可以入门,python作为一门解释型语言,设计之初就是面向大众,降低编程入门的门槛,而且随着人工智能、大数据的兴起,python的应用和前景也越来越好,下...

郝盲冉2399ui设计与python编程哪个更有前景一些?
毋忽肾18595956774 ______ 首先我是一个前端编程人员,接触过ui页面,因为公司没人做,我跟这个最接近,所以兼职ui.有空的时候在学python,主要是django的学习.所以,如果真说前景的话,...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024