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使用Socket(Https)Post登录百度的实现代码
May 18 Python
Python中正则表达式的用法实例汇总
Aug 18 Python
Python深入06——python的内存管理详解
Dec 07 Python
tensorflow入门之训练简单的神经网络方法
Feb 26 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
在windows下使用python进行串口通讯的方法
Jul 02 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
Jul 25 Python
Python安装及Pycharm安装使用教程图解
Sep 20 Python
python 将dicom图片转换成jpg图片的实例
Jan 13 Python
如何实现更换Jupyter Notebook内核Python版本
May 18 Python
Python异常处理机制结构实例解析
Jul 23 Python
Python使用shutil模块实现文件拷贝
Jul 31 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长字符串定义方法
2012/07/12 PHP
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
深入解析PHP中逗号与点号的区别
2013/08/05 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
jQuery 选择表格(table)里的行和列及改变简单样式
2012/12/15 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
基于jquery实现在线选座订座之影院篇
2015/08/24 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
js轮播图代码分享
2016/07/14 Javascript
详解支持Angular 2的表格控件
2017/01/19 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
[03:48]2014DOTA2 TI专访71DK夺冠不靠小组赛高排名
2014/07/11 DOTA
Python中的数学运算操作符使用进阶
2016/06/20 Python
Python实现读取Properties配置文件的方法
2018/03/29 Python
Python中利用LSTM模型进行时间序列预测分析的实现
2019/07/26 Python
基于python实现从尾到头打印链表
2019/11/02 Python
Python scrapy增量爬取实例及实现过程解析
2019/12/24 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
体育专业个人的求职信范文
2013/09/21 职场文书
学习决心书
2014/03/11 职场文书
奥运会口号
2014/06/13 职场文书
户籍证明模板
2014/09/28 职场文书
小学科学教学计划
2015/01/21 职场文书
暑假安全保证书
2015/02/28 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python