lua转换成html,教程二 网页和lua交互修改openwrt

硬件

fe82431197596f75361a5865997e3333.png

GL-iNet

1 首先安装 webserver之lighttpd  ,openwrt自带的是uhttpd

1-1安装过程简略

1-2配置

Lighttpd默认页面

写lighttpd的配置文件lighttpd.conf。

(1)使用语句 server.modules = ("mod_cgi")加入 cgi 模块;

(2)使用语句 cgi.assign = (".cgi" => "") 设置 cgi模块的扩展名和解释器。就本语句而言,表示cgi模块的扩展名是“.cgi”且该 cgi模块不需要特别的解释器来执行

lighttpd configuration

修改文件  /etc/lighttpd/lighttpd.conf in:

server.modules = (

"mod_access",

"mod_cgi",

"mod_alias",

"mod_accesslog",

"mod_compress",

)

and add these lines:

$HTTP["url"] =~ "/cgi-bin/" {

cgi.assign = ( "" => "" )

}

cgi.assign = (

".cgi" => ""

)

Restart lighttpd typing:

debarm:~# /etc/init.d/lighttpd restart

2 编写登陆网页

http://192.168.8.1/cgi-bin/webservice?wifi-key=xixi&wifi-key-msg=xx

bbd3b44d5bbc56d1b140359401d1e7d8.png

3 编写lua脚本文件执行修改

3-2 lua解析http参数

3-3 lua调用shell脚本命令,使用uci接口交互修改。

安装uhttpd包(https需要加装“uhttpd-mod-tls”和“px5g”);

修改uhttpd配置文件“/etc/config/uhttpd”,将Lua作为“interpreter”;

Lua脚本写到“/www/cgi-bin/”目录下,但是不带扩展名,且可执行;

Fast-CGI要求Lua脚本必须首先使用“io.write()”输出“Content-type: text/html\n\n”;

“/www/cgi-bin/”目录下的脚本可以调用“/usr/lib/lua/”目录下的自定义模块;

Lua环境已经就绪。

1登陆路由器文件系统

187e697a7dcd28aaf0b9bed356015db2.png

标签:cgi,教程,http,lighttpd,uhttpd,lua,openwrt,mod

来源: https://www.cnblogs.com/kekeoutlook/p/10791736.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenWrt是一个嵌入式系统,使用了精简版的Linux内核,它的文件系统不同于传统的Linux文件系统,因此很多传统的Linux命令和应用程序并不能直接在OpenWrt上运行。为了满足OpenWrt对于脚本语言的需求,OpenWrt还提供了Lua解释器和相关的库文件。 Lua是一种轻量级的脚本语言,其语法简单、灵活,可以很方便地在OpenWrt上进行开发。以下是一个简单的Lua程序,用于打印“Hello, World!”: ```lua print("Hello, World!") ``` 在OpenWrt上安装Lua解释器,可以使用以下命令: ```bash opkg update opkg install lua ``` 安装完后,可以在OpenWrt的命令行中运行Lua程序,例如: ```bash lua hello.lua ``` 其中,“hello.lua”是保存上面Lua程序的文件名。 除了Lua解释器之外,OpenWrt还提供了许多Lua库,例如LuaSocket、LuaFileSystem、LuaSQL等,这些库可以帮助开发人员更方便地进行网络、文件系统、数据库等方面的编程。可以使用以下命令来安装这些库: ```bash opkg update opkg install lua-socket lua-filesystem lua-sql-sqlite3 ``` 安装完后,可以在Lua程序中使用这些库,例如: ```lua require("socket") -- 创建一个TCP连接 local client = socket.tcp() client:connect("www.baidu.com", 80) -- 发送HTTP请求 client:send("GET / HTTP/1.1\r\nHost: www.baidu.com\r\n\r\n") -- 读取服务器响应 local response = client:receive("*a") print(response) -- 关闭连接 client:close() ``` 这个程序使用LuaSocket库创建了一个TCP连接,发送了一个HTTP请求,然后读取了服务器的响应,并打印到控制台上。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值