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 相关文章推荐
9种python web 程序的部署方式小结
Jun 30 Python
用Python中的wxPython实现最基本的浏览器功能
Apr 14 Python
在Django中创建第一个静态视图
Jul 15 Python
图文讲解选择排序算法的原理及在Python中的实现
May 04 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
Python安装Numpy和matplotlib的方法(推荐)
Nov 02 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
Apr 02 Python
python paramiko远程服务器终端操作过程解析
Dec 14 Python
用python解压分析jar包实例
Jan 16 Python
python简单实现最大似然估计&scipy库的使用详解
Apr 15 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 Python
Python音乐爬虫完美绕过反爬
Aug 30 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
《OVERLORD》第四季,终于等到你!
2020/03/02 日漫
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
php实现斐波那契数列的简单写法
2014/07/19 PHP
两款万能的php分页类
2015/11/12 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
Prototype框架详解
2015/11/25 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
详解webpack babel的配置
2018/01/09 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
2019/08/22 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
python实现获取Ip归属地等信息
2016/08/27 Python
Python算法应用实战之队列详解
2017/02/04 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
tensorboard显示空白的解决
2020/02/15 Python
详解Python中第三方库Faker
2020/09/25 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2020/11/05 Python
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
大班开学家长寄语
2014/04/04 职场文书
青春无悔演讲稿
2014/05/08 职场文书
电教室标语
2014/06/20 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL