LuCI的RPC接口使用方法详解

本文详细介绍了LuCI的RPC接口使用,包括AUTH库的认证过程、SYS库的系统功能、FS库的文件操作、UCI库的重要功能以及IPKG库的包管理。通过实例展示了如何构造JSON数据进行交互,并提醒了不同库的使用注意事项和版本差异。
摘要由CSDN通过智能技术生成

LuCI的RPC接口使用方法详解

说明:这篇文章的部分内容来自于LuCI Wiki:http://luci.subsignal.org/trac/wiki/Documentation/JsonRpcHowTo,本文只是添加了一些示例和说明。
        LuCI是一个基于Lua语言开发的Web framework,提供UCI(统一配置接口)的web接口。LuCI也提供了一种基于JSON语法的RPC机制来访问其内部的库。当前LuCI提供了5个库的接口,分别是:auth、uci、fs、sys、ipkg。下面简单介绍一下使用方法,以及如何通过官方文档来构造json请求数据

AUTH库

        认证过程是所有其他操作的前提,因为其他操作都需要auth认证成功后产生的token,否则会返回403错误。我们来看一下auth过程是怎么样的。下文所有RPC的操作都是使用curl工具。

$ curl -i -X POST -d '{"method":"login","params":["root","1"]}' http://192.168.1.10:8080/luci/rpc/auth
HTTP/1.1 200 OK
Server: LuCId-HTTPd/1.0
Expires: 0
Content-Type: application/json
Cache-Control: no-cache
Date: Mon, 17 Mar 2014 17:27:30 GMT
Set-Cookie: sysauth=72fe65ae2dd4c8e77623576faba4ac4c; path=/
Connection: close

{"id":null,"result":"72fe65ae2dd4c8e77623576faba4ac4c","error":null}

简单说明一下,上面的命令是使用curl工具通过POST方式发送了一个http请求,请求的内容是一个登陆请求

{"method":"login","params":["root","1"]}

http返回的内容是json格式的字符串,其中result的值就是上面提到了token。OK,现在我们拿到了下面其他操作需要的关键字段TOKEN


另外,需要注意的是,LuCI在openwrt里的网址是:http://192.168.1.10/cgi-bin/luci/rpc/xxx,多了一个cgi-bin。这是因为openwrt默认使用uhttpd作为web server。而在PC里使用make runhttpd启动的是lua web server。

SYS库

        sys库提供了一下系统通用功能,比如说:执行一条命令,查看系统信息,重启等。具体功能请猛戳这个链接:http://luci.subsignal.org/api/luci/modules/luci.sys.html

这里找一个最简单来演示一下如何使用官方文档构造json数据,查看uptime时间。首先,我们看一下sys.uptime的官网说明:

uptime ()
    Returns the current system uptime stats.
    Return value:
    String containing total uptime in seconds 
uptime函数返回一个设备从上电到现在的总时间(秒)。那么,看一下使用HTTP请求来调这个函数的方法,还是curl模拟:

curl -i -X POST -d '{"method":"uptime"}' http://192.168.1.10:8080/luci/rpc/sys?auth=72fe65ae2dd4c8e77623576faba4ac4c
HTTP/1.1 200 OK
Server: LuCId-HTTPd/1.0
Expires: 0
Content-Type: application/json
Cache-Control: no-cache
Date: Mon, 17 Mar 2014 17:49:42 GMT
Set-Cookie: sysauth=72fe65ae2dd4c8e77623576faba4ac4
luci-apps是OpenWrt路由器系统的Web界面,提供了许多插件和应用程序,可以通过Web界面轻松管理您的路由器。 以下是luci-apps的常见插件和应用程序的使用文档: 1. 网络状态监视器(luci-app-netdata):该插件提供了一个实时监视器,用于监视路由器的网络性能和资源使用情况。通过该插件,您可以查看网络流量、CPU使用率、内存使用情况等。 2. PPPoE服务器(luci-app-pppoe-server):PPPoE服务器插件可将您的路由器转换为PPPoE服务器,允许其他设备通过您的路由器连接到Internet。 3. 远程访问(luci-app-radicale):该插件提供了一个基于Web的界面,允许您远程访问您的路由器,并管理您的数据和应用程序。 4. 防火墙(luci-app-firewall):该插件提供了一个简单的界面,允许您配置路由器的防火墙规则,以保护您的网络免受网络攻击和恶意软件的侵害。 5. DHCP服务器(luci-app-dhcp):该插件提供了一个简单的界面,允许您配置路由器的DHCP服务器,以为您的网络设备分配IP地址。 6. 无线网络(luci-app-wireless):该插件提供了一个简单的界面,允许您配置路由器的无线网络设置,包括SSID、频段、加密等。 7. 文件共享(luci-app-samba):该插件提供了一个简单的界面,允许您在路由器上设置Samba文件共享,以方便您在局域网内共享文件和文件夹。 以上是luci-apps中一些常见插件和应用程序的简要介绍和使用文档,您可以根据您的需要选择适合您的插件和应用程序,并在Web界面上方便地管理您的路由器。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值