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("-------------------------------")

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM