一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 詳解Python實現URL監測與即時推送

詳解Python實現URL監測與即時推送

2022-03-02 00:24董式小爬蟲 Python

這篇文章主要為大家介紹了Python實現URL監測與即時推送,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

原理

采用Python requests發起請求監測的URL,檢測Http響應狀態及是否超時,如果Http狀態異常或響應超時,則通過聚合云推的消息推送API將預警消息發送至郵箱、釘釘機器人、企業微信機器人、微信公眾號等,服務端通過crontab定時(每分鐘)執行代碼,實現動態監測功能。

環境

操作系統: CentOS 7.x

Python版本: 3.6

消息推送服務: tui.juhe.cn

代碼

  1. #!/usr/bin/python3
  2. import requests
  3. import time
  4. import json
  5.  
  6. # 監測URL是否正常響應
  7. def url_check(url):
  8. # 當前時間
  9. check_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
  10. print("開始監測:%s -- %s" % (url, check_time))
  11. try:
  12. # 請求URL, 設置3s超時
  13. r = requests.get(url, timeout=3)
  14. if r.status_code != 200:
  15. # 請求響應狀態異常
  16. msg = "監控的URL:%s%sHttp狀態異常:%s%s監測時間:%s" % (url, "\n\n", r.status_code, "\n\n", check_time)
  17. print("監測結果:異常(Http狀態異常:%s) -- %s" % (r.status_code, check_time))
  18. # 通過云推推送消息
  19. yuntui_push(msg)
  20. else:
  21. # 請求響應正常
  22. print("監測結果:正常 -- %s" % check_time)
  23. except requests.exceptions.ConnectTimeout:
  24. # 請求響應超時
  25. msg = "監控的URL:%s%s請求異常:%s%s監測時間:%s" % (url, "\n\n", "請求超時", "\n\n", check_time)
  26. print("監測結果:超時 -- %s" % check_time)
  27. # 通過云推推送消息
  28. yuntui_push(msg)
  29.  
  30. # 將預警消息通過云推推送
  31. def yuntui_push(content):
  32. # 當前時間
  33. push_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
  34. # 云推接口的信息配置,可以通過 https://tui.juhe.cn 自行注冊創建
  35. # (可以配置郵件、釘釘機器人、微信公眾號等接收方式)
  36. token = "*****************"
  37. service_id = "******"
  38. title = "URL可用性監控預警"
  39. doc_type = "markdown"
  40. body = {"token": token, "service_id": service_id, "title": title, "content": content, "doc_type": doc_type}
  41. try:
  42. r = requests.post("https://tui.juhe.cn/api/plus/pushApi", data=body, timeout=15)
  43. push_res = json.loads(r.content)
  44. code = push_res['code']
  45. if code == 200:
  46. print("推送結果:成功 -- %s" % push_time)
  47. else:
  48. print("推送結果:失敗(%s) -- %s" % (push_res['reason'], push_time))
  49. except requests.exceptions.ConnectTimeout:
  50. print("推送結果:超時 -- %s" % push_time)
  51.  
  52. # 執行URL可用性監測
  53. if __name__ == '__main__':
  54. # 監控URL可用性
  55. # url_check("https://www.test.com")
  56. url_check("https://www.baidu.com/")

如果requests未安裝可以執行以下命令安裝

  1. pip3 install requests

crontab計劃任務配置

命令行輸入crontab -e進入計劃任務配置

  1. # 每分鐘執行一次
  2. */1 * * * * /usr/bin/python3 /data/check_url/main.py >> /data/log.txt

查看日志

  1. cat /data/log.txt
  1. 開始監測:https://www.baidu.com/ -- 2021-11-16 15:04:01
  2. 監測結果:正常 -- 2021-11-16 15:04:01
  3. 開始監測:https://www.baidu.com/ -- 2021-11-16 15:05:02
  4. 監測結果:正常 -- 2021-11-16 15:05:02
  5. 開始監測:https://www.baidu.com/ -- 2021-11-16 15:06:01
  6. 監測結果:正常 -- 2021-11-16 15:06:01
  7. 開始監測:https://www.baidu.com/ -- 2021-11-16 15:07:01
  8. 監測結果:正常 -- 2021-11-16 15:07:01
  9. 開始監測:https://www.baidu.com/ -- 2021-11-16 15:08:01
  10. 監測結果:正常 -- 2021-11-16 15:08:01
  11. 開始監測:https://www.test.com -- 2021-11-16 15:11:01
  12. 監測結果:超時 -- 2021-11-16 15:11:01
  13. 推送結果:成功 -- 2021-11-16 15:11:04
  14. 開始監測:https://www.test.com -- 2021-11-16 15:12:01
  15. 監測結果:超時 -- 2021-11-16 15:12:01
  16. 推送結果:成功 -- 2021-11-16 15:12:04

預警消息效果

如果監測到異常結果,你在云推配置的接收終端將會收到通知,類似如下:

釘釘群機器人:

詳解Python實現URL監測與即時推送

郵件:

詳解Python實現URL監測與即時推送

微信公眾號:

詳解Python實現URL監測與即時推送

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/chasiona/article/details/121362182

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品国产国产综合精品 | 青草福利视频 | 日本高清色视影www日本 | 国产美女做爰免费视频软件 | 国产精品青青青高清在线密亚 | 国内精品久久久久久中文字幕 | 亚洲精品免费观看 | 九色PORNY真实丨国产免费 | 91肥熟国产老肥熟在线 | 久久青青草视频在线观 | 娇女的呻吟亲女禁忌h16 | 嗯啊视频在线 | 禁忌高h | 美女被狂揉下部羞羞动漫 | 麻生希在线 | 日韩精品欧美激情国产一区 | 国产精品在线 | 天天成人| www免费插插视频 | 苍井空50分钟无码 | 美女扒下内裤让男人桶的图片 | 九九九久久久 | 免费看国产一级特黄aa大片 | 国产日韩欧美在线观看不卡 | 女主被男主为催奶药h | uoco福利姬网站 | 亚洲天堂男人的天堂 | 特黄视频免费看 | 免费黄色小说 | 青青青手机视频在线观看 | 美女被上漫画 | 亚洲AV中文字幕无码久久 | 日韩日日操| 无人在线高清免费看 | 日韩性大片免费 | 午夜一区二区福利视频在线 | 久久电影院久久国产 | 男男18视频免费网站 | 午夜在线观看免费观看 视频 | 好男人影视社区www在线观看 | 亚洲经典 |