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 相关文章推荐
python3实现字符串的全排列的方法(无重复字符)
Jul 07 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
flask框架使用orm连接数据库的方法示例
Jul 16 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
浅谈Python批处理文件夹中的txt文件
Mar 11 Python
浅谈Python类中的self到底是干啥的
Nov 11 Python
tensorflow 实现从checkpoint中获取graph信息
Feb 10 Python
Django 返回json数据的实现示例
Mar 05 Python
python使用PIL剪切和拼接图片
Mar 23 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
Django如何使用jwt获取用户信息
Apr 21 Python
python自定义函数def的应用详解
Jun 03 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中如何判断AJAX提交的数据
2012/02/05 PHP
PHP错误机制知识汇总
2016/03/24 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
php支付宝APP支付功能
2020/07/29 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
Bootstrap常用组件学习(整理)
2017/03/24 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
python正则表达式re之compile函数解析
2017/10/25 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
python绘制动态曲线教程
2020/02/24 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
材料物理专业求职信
2014/09/01 职场文书
四风问题个人对照检查剖析材料
2014/09/27 职场文书
年会主持人开场白台词
2015/05/29 职场文书
学习心得体会
2019/06/20 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书