python监控网站运行异常并发送邮件的方法
Jun 10, 2016 pm 03:17 PM
python
发送邮件
异常
方法
监控
网站
运行
本文实例讲述了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
# -*- 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程序设计有所帮助。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heißer Artikel
Wie lange dauert es, um Split Fiction zu schlagen?
3 Wochen vor
By DDD
Repo: Wie man Teamkollegen wiederbelebt
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌

Hot-Tools-Tags

Heißer Artikel
Wie lange dauert es, um Split Fiction zu schlagen?
3 Wochen vor
By DDD
Repo: Wie man Teamkollegen wiederbelebt
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So laden Sie Deepseek Xiaomi herunter

Das neueste Meisterwerk des MIT: Verwendung von GPT-3.5 zur Lösung des Problems der Erkennung von Zeitreihenanomalien

Was sind die Vor- und Nachteile des Templatings?

Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an

In welcher Sprache ist das Browser-Plugin geschrieben?
