python3.4获取网站40x 50x错误并发邮件通知
Posted MissZhou要努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3.4获取网站40x 50x错误并发邮件通知相关的知识,希望对你有一定的参考价值。
之前的代码只能获取404……然后服务器挂了……就悲剧了
他和
python刷博客访问量
其实原理不一样 不是单纯的访问 取状态码
而且我为啥要把脚本放到服务器里跑,真要是断网了还怎么发邮件……
电脑里安装了一个python2.7 一个python3.4希望不要打架……
还有一个问题:
为啥关闭IIS还能访问呢?
机制的我关闭了8080端口才解决……一直利用重启的间隙笨死我算了
#!/usr/bin/python
# -*- coding: cp936 -*-
###########################################################
#
# This python script is used for mysql database backup
# using mysqldump utility.
#
# Written by : Rahul Kumar
# Website: http://tecadmin.net
# Created date: Dec 03, 2013
# Last modified: Dec 03, 2013
# Tested with : Python 2.6.6
# Script Revision: 1.1
#
##########################################################
# Import required python libraries
import os
import time
from time import ctime,sleep
import datetime
import zipfile
import smtplib
import mimetypes
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.message import EmailMessage
import requests
def getStatusCode(url):
r = requests.get(url, timeout=30)#allow_redirects = False,
return r.status_code
#http://222.27.167.184:8080/marking0503/index.php
try:
webstatus=getStatusCode('http://xxxx/xxxx/index.php')
print(webstatus)
f1=open('httperror.txt','w')
f1.write(str(e)+"\\n"+str(time.strftime('%Y-%m-%d_%H-%M-%S')))
f1.close()
except:
f1=open('httperror1.txt','w')
f1.write("50x\\n"+str(time.strftime('%Y-%m-%d_%H-%M-%S')))
f1.close()
to_addr = "zhouyujiaambition@163.com"
msg = EmailMessage()
msg['Subject'] = "网站状态" # 组装信头
msg['From'] = '网站状态<nefu_oj@163.com>' # 使用国际化编码
msg['To'] = to_addr
sendFile="httperror.txt"
with open(sendFile, 'rb') as fp:
msg.add_attachment(fp.read(),maintype="text",subtype="plain",filename='httperror.txt')
smtp_server = "smtp.163.com"
server = smtplib.SMTP(smtp_server, 25)
server.login('nefu_oj@163.com', 'nefu0909')
server.sendmail('nefu_oj@163.com', to_addr, msg.as_string())
server.quit()
print("backup complete.")
以上是关于python3.4获取网站40x 50x错误并发邮件通知的主要内容,如果未能解决你的问题,请参考以下文章
关于HTTP中40X和50X的问题(介绍,可根据介绍找出问题解决方案)