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 相关文章推荐
flask中使用SQLAlchemy进行辅助开发的代码
Feb 10 Python
Python3基础之基本数据类型概述
Aug 13 Python
详解Python的Django框架中Manager方法的使用
Jul 21 Python
Django+Ajax+jQuery实现网页动态更新的实例
May 28 Python
python os.path模块常用方法实例详解
Sep 16 Python
Django高级编程之自定义Field实现多语言
Jul 02 Python
python zip()函数使用方法解析
Oct 31 Python
Django中密码的加密、验密、解密操作
Dec 19 Python
Python进程的通信Queue、Pipe实例分析
Mar 30 Python
Python性能分析工具py-spy原理用法解析
Jul 27 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 Python
Python urllib库如何添加headers过程解析
Oct 05 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 session有效期问题
2009/04/26 PHP
解析PHP汉字转换拼音的类
2013/06/18 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
php实现的美国50个州选择列表实例
2015/04/20 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
PHP cURL获取微信公众号access_token的实例
2018/04/28 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
任意位置显示html菜单
2007/02/01 Javascript
JavaScript 拖拉缩放效果
2008/12/10 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
python3写爬取B站视频弹幕功能
2017/12/22 Python
Python中getpass模块无回显输入源码解析
2018/01/11 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
python数据分析:关键字提取方式
2020/02/24 Python
python怎么提高计算速度
2020/06/11 Python
python实现感知机模型的示例
2020/09/30 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
英国行业制服供应商:Alexandra
2019/09/14 全球购物
如何将字串String转换成整数int
2015/02/21 面试题
会计专业自荐信
2014/06/03 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
办理房产过户的委托书
2014/09/14 职场文书
支行行长竞聘报告
2014/11/06 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫