python3 登录https的zabbix api

17 篇文章 0 订阅
13 篇文章 0 订阅

如果频繁使用api,建议先调用z.access(),登录失败后再调用z.user_login()生成先的sessionis。

 

#!/usr/bin/env python3
#-*- coding: utf-8 -*-

import json
import ssl
import urllib.parse
import urllib.request

class zabbix_login:
    def __init__(self):
        self.url = 'https://10.200.2.2/zabbix/api_jsonrpc.php'
        self.header = {"Content-Type": "application/json"}
    def user_login(self):
        data = json.dumps({
                           "jsonrpc": "2.0",
                           "method": "user.login",
                           "params": {
                                      "user": "Admin",
                                      "password": "zabbix"
                                      },
                           "id": 0
                           })
        ssl._create_default_https_context = ssl._create_unverified_context
        postdata=data.encode('utf8')
        request=urllib.request.Request(self.url,postdata,self.header)
        result=urllib.request.urlopen(request)
        response = json.loads(result.read())
        result.close()
        try:
            f = response['result']
            fo = open("access.log", "w")
            fo.writelines(f)
            self.login=response['result']
            return self.login
        except KeyError as e:
            print ("please check zabbix password")
    def access(self):
        file = 'access.log'
        try:
            f = open(file,'r+')
            access_token = f.read()
            #print('get success %s' % access_token)
            f.close()
            return access_token
        except Exception as e:
            print(e)
        
if __name__ == "__main__":
    z = zabbix_login()
    print(z.access())

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值