Stay Hungry,Stay Foolish!

LuaSocket http笔记

LuaSocket

  基于Lua平台开发的一套socket的lua接口库程序, 为lua程序的扩展 ,http://w3.impa.br/~diego/software/luasocket/home.html

 包括两部分: c核心库(支持windows 和 unix系统),和 Lua脚本实现的Lua脚本工具集(包括 smtp 和 http 和 ftp 和 mime--通用编码, URL H和 LTN12)

  具体每种扩展工具和接口详情见下面网址:

  http://w3.impa.br/~diego/software/luasocket/reference.html

LuaSocket http

  其中对应http client角色的一个工具, 为lua socket http, 详见,包括介绍和示例

http://w3.impa.br/~diego/software/luasocket/http.html#authentication

 

 lua socket 示例

见下blog

http://blog.163.com/hbu_lijian/blog/static/126129153201422023644730/

复制代码
socket = require "socket"
print(socket._VERSION)

local address = "192.168.1.1"
local port = 80
local client = assert (socket.connect(address, port))

local chunkPacket = [[
GET /img/add.png HTTP/1.1
Host: 192.168.1.1

ffffff0
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
]]


if nil ~= client then
    local num = client:send(chunkPacket)
    print ("send after")
    if nil ~= num then
        print ("send index="..num)
    end
    client:send("YYYYYYYYYYYYYYYYYYYYY")
    local r = client:receive("*a")
    client:send("ZZZZZZZZZZZZZZZZZZZZZ")

    
    --print("r="..r)
    client:close()
end
复制代码

 

 

socket http使用

  1. 下载windows版本的可运行工具包 : http://files.luaforge.net/releases/luasocket/luasocket/luasocket-2.0.2
  2. 解压后,在解压目录下,建立一个脚本 test.lua,内容可参考lua socket http网上例子。
  3. 命令行切换到此目录下, 执行 lua.exe test.lua

代码

  实现重启路由器功能

复制代码
socket = require "socket"
print(socket._VERSION)
print("-------------------------------")

-- load required modules
http = require "socket.http"
mime = require "mime"


r, c = http.request {
  url = "http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%CF%B5%CD%B3",
  headers = { Authorization = "Basic " .. (mime.b64("name:password")) }
}
print("r="..r)
print("c="..c)
print("-------------------------------")
复制代码

 

 

 

 

posted @   lightsong  阅读(5139)  评论(1编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
千山鸟飞绝,万径人踪灭
点击右上角即可分享
微信分享提示