python监控网站运行异常并发送邮件的方法


Posted in Python onMarch 13, 2015

本文实例讲述了python监控网站运行异常并发送邮件的方法。分享给大家供大家参考。具体如下:

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

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

#author  libertyspy

import socket

import smtplib

import urllib

mail_options = {

    'server':'smtp.qq.com',#使用了QQ的SMTP服务,需要在邮箱中设置开启SMTP服务

    'port':25,             #端口

    'user':'hacker@qq.com',#发送人

    'pwd':'hacker',        #发送人的密码

    'send_to':'sniper@qq.com',  #收件者

}

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

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python转换HTML到Text纯文本的方法
Jan 15 Python
理解Python中的With语句
Mar 18 Python
使用python实现接口的方法
Jul 07 Python
python学习之matplotlib绘制散点图实例
Dec 09 Python
使用python判断jpeg图片的完整性实例
Jun 10 Python
利用python在大量数据文件下删除某一行的例子
Aug 21 Python
python将字母转化为数字实例方法
Oct 04 Python
Pytorch to(device)用法
Jan 08 Python
python开发入门——列表生成式
Sep 03 Python
Python Process创建进程的2种方法详解
Jan 25 Python
python如何实现递归转非递归
Feb 25 Python
如何通过一篇文章了解Python中的生成器
Apr 02 Python
go语言计算两个时间的时间差方法
Mar 13 #Python
python实现端口转发器的方法
Mar 13 #Python
python实现超简单端口转发的方法
Mar 13 #Python
python简单程序读取串口信息的方法
Mar 13 #Python
python通过BF算法实现关键词匹配的方法
Mar 13 #Python
python通过装饰器检查函数参数数据类型的方法
Mar 13 #Python
python实现简单温度转换的方法
Mar 13 #Python
You might like
php抓即时股票信息
2006/10/09 PHP
php date与gmdate的获取日期的区别
2010/02/08 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
Angularjs基础知识及示例汇总
2015/01/22 Javascript
javascript数据结构之双链表插入排序实例详解
2015/11/25 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
js自定义input文件上传样式
2018/10/26 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python算法应用实战之队列详解
2017/02/04 Python
python机器学习实战之树回归详解
2017/12/20 Python
python中不能连接超时的问题及解决方法
2018/06/10 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
python3中rank函数的用法
2019/11/27 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
2020/05/18 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
阿拉伯书店:Jamalon
2019/07/24 全球购物
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
查环查孕证明
2014/01/10 职场文书
25岁生日感言
2014/01/13 职场文书
军训阅兵新闻稿
2015/07/17 职场文书
2019年大学推荐信
2019/06/24 职场文书