(二)Python調用Zabbix api之從入門到放棄——登錄並獲取身份驗證令牌
阿新 • • 發佈:2018-06-26
請求 urllib 登錄 login gin json AD 用戶 cati 訪問zabbix api的URL是:
http://x.x.x.x/zabbix/api_jsonrpc.php
x.x.x.x可能是你的IP或者域名
訪問流程概覽:
1、首先登錄
2、認證成功後zabbix server返回一個token
3、帶著這個token去訪問各種數據,做各種操作
4、完畢!
一、用RESTClient進行登錄
在json請求的正文中,具有以下屬性:
jsonrpc
- API使用的JSON-RPC協議的版本; Zabbix API實現JSON-RPC版本2.0;method
- 調用的API方法;params
- 將被傳遞給API方法的參數;id
- 請求的任意標識符;auth
-用戶認證令牌; 因為我們還沒有一個,它的設置null。
正確提供憑據後,API返回的響應將包含用戶身份驗證令牌(json格式):
{
"jsonrpc":"2.0",
"result":"140f4524c02e2731dd74c48d29aa5ce8", #這個就是token
"id":1
}
二、使用Python進行登錄
# -*- coding:utf-8 -*- import urllib2 import json url = 'http://x.x.x.x/zabbix/api_jsonrpc.php' header = {'Content-Type': 'application/json'} req = json.dumps( { "jsonrpc": "2.0", "method": "user.login", "params": { "user": "Admin", "password": "你的密碼" }, "id": 0, } ) def auth(): r = urllib2.Request(url=url, headers=header, data=req) response = urllib2.urlopen(r) token = json.loads(response.read()) print(token) if __name__ == '__main__': auth()
得到的響應:
(二)Python調用Zabbix api之從入門到放棄——登錄並獲取身份驗證令牌