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脚本实现查找webshell的方法
Jul 31 Python
Python使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 Python
python常见的格式化输出小结
Dec 15 Python
Python正则表达式教程之一:基础篇
Mar 02 Python
Python3中类、模块、错误与异常、文件的简易教程
Nov 20 Python
基于python list对象中嵌套元组使用sort时的排序方法
Apr 18 Python
详解django自定义中间件处理
Nov 21 Python
python脚本后台执行方式
Dec 21 Python
python使用SQLAlchemy操作MySQL
Jan 02 Python
Python中的流程控制详解
Feb 18 Python
利用Selenium添加cookie实现自动登录的示例代码(fofa)
May 08 Python
使用pd.merge表连接出现多余行的问题解决
Jun 16 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多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
cssQuery()的下载与使用方法
2007/01/12 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
怎么清空javascript数组
2013/05/11 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
javascript随机抽取0-100之间不重复的10个数
2016/02/25 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
Python中文竖排显示的方法
2015/07/28 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
泰国国际航空公司官网:Thai Airways International
2019/12/04 全球购物
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
毕业留言寄语大全
2014/04/10 职场文书
维稳工作情况汇报
2014/10/27 职场文书
高三语文复习计划
2015/01/19 职场文书
营业员岗位职责范本
2015/04/14 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
教你用python实现12306余票查询
2021/06/30 Python