#!/usr/bin/python
#coding=utf8
'''
Created on 2012-8-17
@author: jiangxh
Description:
'''
import httplib
#用类来包装线程对象
import threading
import time,datetime
import smtplib
def http_open(url):
try:
conn = httplib.HTTPConnection(url)
conn.request("GET", "/")
r=conn.getresponse()
return r.status
except Exception,e:
return e
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
#server['host'], server['user'], server['passwd']
def send_mail(text):
msg = MIMEMultipart()
msg['From'] = "发件人"
msg['Subject'] = u"不好了网站挂了"
msg['To'] = COMMASPACE.join("收件人")
msg['Date'] = formatdate(localtime=True)
msg.attach(MIMEText(text,'html','GBK'))
smtp = smtplib.SMTP("server")
#smtp.set_debuglevel(1)
smtp.login("用户名", "密码")
smtp.sendmail("发件人", "收件人", msg.as_string())
smtp.close()
class check(threading.Thread):
def __init__(self, url ,interval):
threading.Thread.__init__(self)
self.interval = interval
self.url=url
def run(self): #Overwrite run() method, put what you want the thread do here
status = http_open(self.url)
if status==200:
print u"链接[%s]响应正常,状态为:%s"%(self.url,status)
elif status==302:
print u"链接[%s]响应正常,状态为:%s"%(self.url,status)
else:
print u"链接[%s]响应异常,状态为:%s"%(self.url,status)
send_mail(u"链接[%s]响应异常,状态为:%s"%(self.url,status))
time.sleep(self.interval)
def main():
urls=["www.hzins.com",
"www.baoyuntong.com"
]
thread_list =[]
print u"*********************************"
print u"欢迎使用: 慧择经纪保险网站监控程序"
print u"*********************************"
print u"共有%s个网站需要检测"%len(urls)
while(True):
print u"执行时间:%s"%(datetime.datetime.now())
for url in urls:
thread = check(url,10)
thread.start()
thread_list.append(thread)
time.sleep(120)
print "\n\n"
if __name__ == "__main__":
main()
转自:http://hi.baidu.com/design231/item/c3a51a008046aac674cd3cd8
by:小飞虎BS