py代码如下:
import requests import smtplib from email.mime.text import MIMEText def 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 换成你需要监控的。
同样也是可以改成多网站版本的,记得代码是需要修改的,具体如何改大家自己研究吧。