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()
得到的响应:
原文:http://blog.51cto.com/freshair/2132748