python监控网站的功能(如果网站响应值不是200则发送邮件通知)
py代码如下:
import requests import smtplib from email.mime.text import MIMETextdef send_email(subject, message): sender_email = “your_email@example.com” receiver_email = “recipient_email@example.com” password = “your_email_password”
# 设置邮件内容 msg = MIMEText(message) msg['Subject'] = subject msg['From'] = sender_email msg['To'] = receiver_email # 发送邮件 with smtplib.SMTP('smtp.gmail.com', 587) as server: server.starttls() server.login(sender_email, password) server.sendmail(sender_email, receiver_email, msg.as_string())def monitor_website(url): try: response = requests.get(url) if response.status_code != 200: subject = “Website Monitor - Response Error” message = f”The website {url} is responding with status code {response.status_code}.” send_email(subject, message) except requests.exceptions.RequestException as e: subject = “Website Monitor - Connection Error” message = f”Unable to connect to the website {url}. Error: {str(e)}” send_email(subject, message)
在此处设置要监控的网站URL
website_url = “https://example.com”
监控网站
monitor_website(website_url)
说明:
我记得我以前手撸了一个php版本的,而且同时监控了上百个网站,任何一个网站的返回值不是200就会发送邮件通知我。由于之前大意了,没有将php 版本的代码分享出来,也没有做任何的备份。
因为是直接在宝塔后台敲出来的,忘记保存一份到本地了,导致代码丢失。后面想在用的时候发现当初的思路还在,但已经不想再搞了。
然后就一直拖着,今天用ai帮我写了一个python版本的,试用了一下感觉还不错。
如果上面的代码到你的环境中无法执行,看一下是不是没有导入环境。
如何使用:
将上面的网站https://example.com 换成你需要监控的。同样也是可以改成多网站版本的,记得代码是需要修改的,具体如何改大家自己研究吧。
正文结束
还没有评论,来坐沙发吧。