zoukankan      html  css  js  c++  java
  • 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("-------------------------------")
  • 相关阅读:
    git基础教程(三)
    Struts2_day04
    Struts2_day03
    Struts2_day02
    Struts2_day01
    Spring 学习02
    Spring 学习01
    Kafka 温故(五):Kafka的消费编程模型
    Kafka 温故(四):Kafka的安装
    Kafka 温故(三):Kafka的内部机制深入(持久化,分布式,通讯协议)
  • 原文地址:https://www.cnblogs.com/lightsong/p/3774775.html
Copyright © 2011-2022 走看看