GL.iNet SDK4.0 API在线文档 output pdf
一、特殊接口说明
#.登录接口
登录环节的主要目的是获取到给其他API鉴权用的SID.
基于安全考虑,登陆环节的步骤较为复杂,具体步骤请参考这个链接
下面是一个shell实现SID获取的例子,需要传递3个参数,依次为:主机名,用户名,密码:

shell 获取sid示例

#!/bin/sh

host=$1
username=$2
password=$3

which jq 2>&1 >/dev/null || {
	echo please  install jq
	exit 1
}

ret="$(curl -k http://$host/rpc -d "{\"jsonrpc\":\"3.0\",\"method\":\"challenge\",\"params\":{\"username\":\"${username}\"},\"id\":1}" 2>/dev/null|jq -c)"
salt="$(echo $ret|awk -F "salt" '{print $2}'|cut -d '"' -f 3)"
nonce="$(echo $ret|awk -F "nonce" '{print $2}'|cut -d '"' -f 3)"
alg="$(echo $ret|awk -F "alg" '{print $2}'|awk -F ":|," '{print $2}')"

pw=$(openssl passwd -$alg -salt "$salt" "$password")

hash=$(echo -n "$username:$pw:$nonce" | md5sum | cut -d' ' -f1)
ret="$(curl -k http://$host/rpc -d "{\"jsonrpc\":\"2.0\",\"method\":\"login\",\"params\":{\"username\":\"${username}\",\"hash\":\"${hash}\"},\"id\":1}" 2>/dev/null)"
echo $ret		

#.登出接口
登出接口使当前SID失效.
下面是一个shell登出的示例,需要传入俩个参数,依次为:主机名,需要注销的SID.

shell 登出接口示例

#!/bin/sh

host=$1
sid=$2

ret="$(curl -k http://$host/rpc -d '{"jsonrpc":"2.0","method":"logout","params":{"sid":"$sid"},"id":1}' 2>/dev/null)"
echo $ret
		
#.alive接口
alive接口主要用于判断httpd是否正常工作,SID是否有效.
下面是一个shell调用alive接口的示例,需要传入俩个参数,依次为:主机名,需要测试的SID.

shell alive接口示例

#!/bin/sh

host=$1
sid=$2

ret="$(curl -k http://$host/rpc -d '{"jsonrpc":"2.0","method":"alive","params":{"sid":"$sid"},"id":1}' 2>/dev/null)"
echo $ret
		
二、标准接口说明

加载中...

* 本接口文档最后更新时间:2022年7月19日 18:09
返回顶部小火箭