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自定义解析简单xml格式文件的方法
May 11 Python
Python的MongoDB模块PyMongo操作方法集锦
Jan 05 Python
Python 将RGB图像转换为Pytho灰度图像的实例
Nov 14 Python
Python语言检测模块langid和langdetect的使用实例
Feb 19 Python
详解用python写一个抽奖程序
May 10 Python
Python企业编码生成系统之系统主要函数设计详解
Jul 26 Python
python提取照片坐标信息的实例代码
Aug 14 Python
Python ArgumentParse的subparser用法说明
Apr 20 Python
使用python实现下载我们想听的歌曲,速度超快
Jul 09 Python
Python 操作 MySQL数据库
Sep 18 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 Python
Python进行区间取值案例讲解
Aug 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
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
python处理文本文件并生成指定格式的文件
2014/07/31 Python
Python os模块介绍
2014/11/30 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
python使用mysql数据库示例代码
2017/05/21 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
python的re模块使用方法详解
2019/07/26 Python
常用的10个Python实用小技巧
2020/08/10 Python
python collections模块的使用
2020/10/16 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
EJB的基本架构
2016/09/22 面试题
写好自荐信的几个要点
2013/12/26 职场文书
运动会解说词200字
2014/02/06 职场文书
环保标语大全
2014/06/12 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
圣诞节开幕词
2015/01/29 职场文书
发布会邀请函
2015/01/31 职场文书
如何用Node.js编写内存效率高的应用程序
2021/04/30 Javascript