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搭建微信公众平台
Feb 16 Python
Python 实现删除某路径下文件及文件夹的实例讲解
Apr 24 Python
Python3中的列表生成式、生成器与迭代器实例详解
Jun 11 Python
一百多行python代码实现抢票助手
Sep 25 Python
10个Python小技巧你值得拥有
Sep 29 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
Dec 24 Python
python浪漫表白源码
Apr 05 Python
利用pandas将非数值数据转换成数值的方式
Dec 18 Python
解决Python安装cryptography报错问题
Sep 03 Python
python语言实现贪吃蛇游戏
Nov 13 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 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代码优化的53个细节
2014/03/03 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
php简单实现快速排序的方法
2015/04/04 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
JavaScript中for..in循环陷阱介绍
2013/11/12 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
jquery使用$(element).is()来判断获取的tagName
2014/08/24 Javascript
深入理解javascript变量声明
2014/11/20 Javascript
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
教你搭建按需加载的Vue组件库(小结)
2019/07/29 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
Python开发常用的一些开源Package分享
2015/02/14 Python
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
Python简明入门教程
2015/08/04 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
Opencv实现抠图背景图替换功能
2019/05/21 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
CSS3等相关属性制作分页导航实现代码
2012/12/24 HTML / CSS
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
西班牙语在线票务市场:SuperBoletería
2019/06/10 全球购物
学院书画协会部门岗位职责
2013/12/01 职场文书
抗震救灾标语
2014/06/26 职场文书
车辆年检委托书范本
2014/10/14 职场文书
大学生求职信怎么写
2015/03/19 职场文书
基于docker安装zabbix的详细教程
2022/06/05 Servers