python 脚本监控url返回码并邮件报警

#coding=utf-8  
   
import requests  
import smtplib
from smtplib import SMTP_SSL
from email.mime.text import MIMEText

#定义一个发邮件函数
def mail(sub,content):
    mailto_list=["[email protected]"]
    mail_host="smtp.163.com"
    mail_uer="[email protected]"
    mail_pass="word2613182"
    message = MIMEText(content,_charset='utf-8')
    message['Subject'] = sub
    message['From']=mail_uer
    message['To'] = ";".join(mailto_list)
    try:
        #s = smtplib.SMTP()
        s = SMTP_SSL()
        s.connect(mail_host)
        s.login(mail_uer,mail_pass)
        s.sendmail(mail_uer, mailto_list, message.as_string())
        s.close()
        return True
    except Exception as e:
        print (str(e))
        return False   
def get_status(url):  
    r = requests.get(url, allow_redirects = False)  
    return r.status_code  
      
def main():  
    url_file = open("url.txt")
    for url in url_file.xreadlines():  
        url = url.strip().replace(" ", "").replace("\n", "").replace("\r\n", "")
        http_url = 'https://' + url
        status=get_status(http_url)
        if status!=200:  
            mail('网页返回码',"'%s'  返回码非200" %(http_url))
        elif status==502:
           mail('网页返回码',"'%s'  返回码502" %(http_url))
if __name__=="__main__":  
    main();

猜你喜欢

转载自blog.csdn.net/weixin_43247128/article/details/85061909
今日推荐