网站状态监控系统——测试版

虽然这类网站服务一搜一大堆,而且有些还是免费的服务还比自己的稳定可靠,但是秉着复造车轮的想法就再次自己搞了一个。

由于技术水平还未够,目前的知识单机版本(?)每次都要自己执行一次才可以使用,但是我的计划是一个主控端多个被控端,定时执行任务并且返回主控并计入数据库或者出现异常状态就发送邮件(设置是短信,但是这个就需要加钱买短信API了)。

不付之行动一切都是空谈就和《老婆管理系统一样》貌似要无限跳票了,这不刚刚就进行了一个可行性初试验。


2017年2月14日 更新:在12日时和大佬交谈中得知 SMTP() 有安全风险,由于是明文传输会导致信息泄露,本还觉得这个问题不大的但是知道连SMTP的用户名和密码都会泄露后就不得不进行修改了。

但是由于一些原因只能在今天才进行修改成 SMTP_SSL() 了。


 

发送请求

#encoding:utf-8
'''
Created on 2017年2月11日

@author: xx
'''
import urllib2
import sendHTML
url="https://www.cyzwb.com/"
urlObj = urllib2.urlopen(url)
sendHTML.email(url,urlObj.getcode(),urlObj.info())

发送邮件(SMTP来源于runoob,由于在本地测试所以使用腾讯企业邮箱的SMTP服务器进行测试)

#encoding:utf-8
'''
Created on 2017年2月11日

@author: xx
'''

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def email(url,text,info):
    # 第三方 SMTP 服务
    mail_host="smtp.xxx.com"  #设置服务器
    mail_user="xxx"    #用户名
    mail_pass="xxx"   #口令 
    sender = 'xxx@xxx.xxx'
    receivers = [xxx@xx.xx]  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
    message = MIMEText("您的网站("+str(url)+")当前状态"+str(text)+"响应信息: \n"+str(info) , 'plain', 'utf-8')
    message['From'] = Header("网页监控系统", 'utf-8')
    message['To'] =  Header("Yunkeji", 'utf-8')
    subject = '网页监控系统-测试'
    message['Subject'] = Header(subject, 'utf-8')
    try:
        smtpObj = smtplib.SMTP_SSL() 
        smtpObj.connect(mail_host, 465)    # 25 为 SMTP 端口号  QQ邮箱SMTP是465
        smtpObj.login(mail_user,mail_pass)  
        smtpObj.sendmail(sender, receivers, message.as_string())
        print "邮件发送成功"
    except smtplib.SMTPException:
        print "Error: 无法发送邮件"

当然,目前这个可能有Bug,由于时间的原因就没有写如果状态码不是200时才发送提醒的代码了,这个就要在不知道何年何月才能执行了。

本来还有个测试的,就是把获取的网页源码也发送来当网页快照但是测试失败了,不过这个可以当快照存入数据库或者截图之类的存入数据库。

希望这个不会像《老婆管理系统一样》一样跳票了,不过在这里插一句,或许《老婆管理系统一样》改用Python来写了。(笑~~~23333)

超越自我吧

2017年2月11日

发布者

ChiuYut

咦?我是谁?这是什么地方? Ya ha!我是ChiuYut!这里是我的小破站!

《网站状态监控系统——测试版》上有2条评论

评论已关闭。