#!/usr/bin/python # encoding: utf-8 #filename: zabbix_base_api.py #author: gaohaixiang #writetime:20190713 import json # import urllib.request import urllib2 class zabbix_base_api(object): def __init__(self,url = "http://192.168.73.9/api_jsonrpc.php" ,header = {"Content-Type": "application/json"}): self.url = url self.header = header # post def post_request(self,url, data, header): request = urllib2.Request(url, data, header) #python2使用 result = urllib2.urlopen(request) # # request = urllib.request.Request(url, data, header) #python3使用 # result = urllib.request.urlopen(request) # ccc = result.read() # print (ccc) # response = json.loads(ccc) response = json.loads(result.read()) result.close() return response def json_data(self,method,params,authid): data = json.dumps( { "jsonrpc": "2.0", "method": method, "params": params, "auth": authid, "id": 1 }) request_info = self.post_request(self.url, data.encode('utf-8'), self.header) return request_info # 认证信息 def authid(self,user,password): #定json中auth的信息 data = json.dumps( { "jsonrpc": "2.0", "method": "user.login", "params": { "user": user, "password": password }, "id": 1 }) authid = self.post_request(self.url, data.encode('utf-8'), self.header) try: return authid['result'] except KeyError: print ('用户名或密码错误') exit() def text_process(self,file): import re find = re.compile(r"^#") text_info = [] # f = open(file,"r",encoding='UTF-8') f = open(file, "r") text = f.readlines() f.close() for i in text: if find.search(i.rstrip("\n")) == None: text_info.append(i.rstrip("\n")) return text_info # 注销认证 def login_out(self,authid): data = json.dumps( { "jsonrpc": "2.0", "method": "user.logout", "params": [], "id": 1, "auth": authid }) a = self.post_request(self.url, data.encode('utf-8'), self.header) return '认证信息已注销'
zabbix-API-自定义库
最新推荐文章于 2022-12-07 18:50:11 发布