python监控网站运行异常并发送邮件详解编程语言

一个简单的python开发的监控程序,当指定网页状态不正常是通过smtp发送通知邮件

#!/usr/bin/env python 
# -*- coding: UTF-8 -*- 
#author  libertyspy 
#link    http://www.lastme.com 
  
import socket 
import smtplib 
import urllib 
  
mail_options = { 
    'server':'smtp.qq.com',#使用了QQ的SMTP服务,需要在邮箱中设置开启SMTP服务 
    'port':25,             #端口 
    'user':[email protected]',#发送人 
    'pwd':'hacker',        #发送人的密码 
    'send_to':[email protected]',  #收件者 
} 
msg_options={ 
    'user':'hacker',    #短信平台的用户名 
    'pwd':'74110',      #短信平台的密码 
    'phone':'12345678910',   #需要发短信的电话号码 
} 
test_host = 'http://www.lastme.com/' 
def url_request(host,port=80): 
    try: 
        response = urllib.urlopen(host) 
        response_code = response.getcode() 
        if 200 != response_code: 
            return response_code 
        else: 
            return True 
    except IOError,e: 
        return False 
  
def send_message(msg,host,status): 
    send_msg='服务器:%s挂了!状态码:%s' % (host,status) 
    request_api="http://www.uoleem.com.cn/api/uoleemApi?username=%s&pwd=%s&mobile=%s&content=%s"  / 
            % (msg['user'],msg['pwd'],msg['phone'],send_msg) 
    return url_request(request_api) 
  
def send_email(mail,host,status): 
    smtp = smtplib.SMTP() 
    smtp.connect(mail['server'], mail['port']) 
    smtp.login(mail['user'],mail['pwd']) 
    msg="From:%s/rTo:%s/rSubject:服务器: %s 挂了 !状态码:%s/r/n" / 
         % (mail['user'],mail['send_to'],host,status) 
    smtp.sendmail(mail['user'],mail['send_to'], msg) 
    smtp.quit() 
""" 
def check_status(host,port=80): 
    s = socket.socket() 
    ret_msg = [] 
    try: 
        s.connect((host,port)) 
        return True 
    except socket.error,e: 
        return False 
""" 
if __name__=='__main__': 
    status = url_request(test_host) 
    if status is not True and status is not None: 
        send_email(mail_options,test_host,status) 
        send_message(msg_options,test_host,status) 
    else: 
        pass

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/8433.html

(0)
上一篇 2021年7月18日
下一篇 2021年7月18日

相关推荐

发表回复

登录后才能评论