因为 *** 的问题,zabbix自带web模块用不了,后台研制2b,老是更新正式环境安装包,导致一向出问题,老是给他们擦 *** ,早说过这事,他们不合作,现在出问题了,挺爽j_0025.gif,这锅我表明不背,就找了pycurl这个模块写个监控。
pycurl模块用法:
(这块是抄的j_0023.gif,引证地址:http://blog.csdn.net/xsj_blog/Article/details/52102652)
c = pycurl.Curl() #创立一个curl目标
c.setopt(pycurl.CONNECTTIMEOUT, 5) #衔接的等候时刻,设置为0则不等候
c.setopt(pycurl.TIMEOUT, 5) #恳求超时时刻
c.setopt(pycurl.NOPROGRESS, 0) #是否屏蔽下载进度条,非0则屏蔽
c.setopt(pycurl.MAXREDIRS, 5) #指定HTTP重定向的更大数
c.setopt(pycurl.FORBID_REUSE, 1) #完结交互后强制断开衔接,不重用
c.setopt(pycurl.FRESH_CONNECT,1) #强制获取新的衔接,即代替缓存中的衔接
c.setopt(pycurl.DNS_CACHE_TIMEOUT,60) #设置保存DNS信息的时刻,默以为120秒
c.setopt(pycurl.URL,"http://www.baidu.com") #指定恳求的URL
c.setopt(pycurl.USERAGENT,"Mozilla/5.2 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50324)") #装备恳求HTTP头的User-Agent
c.setopt(pycurl.HEADERFUNCTION, getheader) #将回来的HTTP HEADER定向到回调函数getheader
c.setopt(pycurl.WRITEFUNCTION, getbody) #将回来的内容定向到回调函数getbody
c.setopt(pycurl.WRITEHEADER, fileobj) #将回来的HTTP HEADER定向到fileobj文件目标
c.setopt(pycurl.WRITEDATA, fileobj) #将回来的HTML内容定向到fileobj文件目标
c.getinfo(pycurl.HTTP_CODE) #回来的HTTP状况码
c.getinfo(pycurl.TOTAL_TIME) #传输完毕所耗费的总时刻
c.getinfo(pycurl.NAMELOOKUP_TIME) #DNS解析所耗费的时刻
c.getinfo(pycurl.CONNECT_TIME) #树立衔接所耗费的时刻
c.getinfo(pycurl.PRETRANSFER_TIME) #从树立衔接到预备传输所耗费的时刻
c.getinfo(pycurl.STARTTRANSFER_TIME) #从树立衔接到传输开端耗费的时刻
c.getinfo(pycurl.REDIRECT_TIME) #重定向所耗费的时刻
c.getinfo(pycurl.SIZE_UPLOAD) #上传数据包巨细
c.getinfo(pycurl.SIZE_DOWNLOAD) #下载数据包巨细
c.getinfo(pycurl.SPEED_DOWNLOAD) #均匀 ***
c.getinfo(pycurl.SPEED_UPLOAD) #均匀上传速度
c.getinfo(pycurl.HEADER_SIZE) #HTTP头部巨细
代码如下:
#!/usr/bin/env python
# __*__coding:utf8__*__
#Author:wangpengtai
#Blog:http://wangpengtai.blog.51cto.com/
import pycurl
import sys
import StringIO #引证该模块的原因是:运用pycurl后会打印出页面内容,咱们不需要看到这个内容,只需要获取页面反应信息就行了,只能将其写入缓存中,现在没找到好办法,学艺不精,不会运用重定向写到os.devnull中,无法初度下策。。。
#开端运用的是写入临时文件,可是会有权限问题,导致zabbix无法获取到数据。
class WebStatus(object):
def __init__(self, url):
self.url = url
self.curl = pycurl.Curl()
self.string = StringIO.StringIO()
# 衔接等候时刻,0则不等候
self.curl.setopt(pycurl.CONNECTTIMEOUT, 5)
# 超时时刻
self.curl.setopt(pycurl.TIMEOUT, 5)
# 下载进度条,非0则屏蔽
self.curl.setopt(pycurl.NOPROGRESS, 1)
# 指定HTTP重定向更大次数
self.curl.setopt(pycurl.MAXREDIRS, 5)
# 完结交互后强制断开衔接,不重用
self.curl.setopt(pycurl.FORBID_REUSE, 1)
# 设置DNS信息保存时刻,默以为120秒
self.curl.setopt(pycurl.DNS_CACHE_TIMEOUT, 60)
# 设置恳求的Url
self.curl.setopt(pycurl.URL, self.url)
self.curl.setopt(pycurl.WRITEFUNCTION, self.string.write)#将页面内容写入缓存
self.curl.perform()
def request_value(self):
[1] [2] 黑客接单网
一、木马概述 360安全中心近期监控到一类虚拟钱银类木马十分活泼,该木马不断监控用户的剪贴板内容,判别是否为比特币、以太坊等虚拟钱银地址,然后在用户买卖的时分将方针地址修改成自己的地址,悄然施行偷盗,...
请咱们先调查下面这条JavaScript句子: ̀̀̀̀̀́́́́́̂̂̂̂̂̃̃̃̃̃̄̄̄̄̄̅̅̅̅̅̆̆̆̆̆̇̇̇̇̇̈̈̈̈̈̉̉̉̉̉̊̊̊̊̊ͅͅͅͅͅͅͅͅͅͅͅalert(̋̋̋ͅ...
前语 前次的那篇文章《一名代码审计新手的实战阅历与感悟》得到了不少读者的支撑,也得到了FreeBuf这个渠道的必定,这给了我这个菜的不能再菜的小菜鸟很大的决心。可是,不足之处仍是许多,比方文章中呈现的...
HTML5 安全问题解析 标签: html html5 web安全 本文参阅: w3school:html5相关基础知识(w3school.com.cn)...
安满是编程十分重要的一个方面。在任何一种编程言语中,都供给了许多的函数或许模块来保证程序的安全性。在现代网站运用中,常常要获取来自世界各地用户的输入,可是,咱们都知道“永久不能信任那些用户输入的数据...
近来,闻名硬件黑客Samy Kamkar运用5美元设备打造的黑客东西PoisonTap,只需30秒,就可以攻破设置有恣意暗码的电脑体系,并完成长时间后门装置。PoisonTap不是暴力破解暗码,而是...