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 =
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使用
- 下载windows版本的可运行工具包 : http://files.luaforge.net/releases/luasocket/luasocket/luasocket-2.0.2
- 解压后,在解压目录下,建立一个脚本 test.lua,内容可参考lua socket http网上例子。
- 命令行切换到此目录下, 执行 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("-------------------------------")
LuaSocket http笔记的更多相关文章
- LuaSocket 学习笔记
--- LUA SocketLib 和 协程 前言: 这是一篇译文(The LUA SocketLib and the Coroutines),有删改,原文见下方链接. 简介 目标读者:会使用 LUA ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
- springMVC学习笔记--知识点总结1
以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
随机推荐
- NOIp 2014 #4 无线网络发射器选址 Label:模拟
题目描述 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的129 条东西向街道和129 条南北向街道所形成的网格状,并且相邻 ...
- 【转载】LoadRunner11下载以及详细破解说明
前期准备:LoadRunner11 下载请猛戳这里 传送门LoadRunner破解文件 下载请猛戳这里 传送门LoadRunner注册表清理工具 下载请猛戳这里 传送门 LoadRunner11破解方 ...
- 【BZOJ】2823: [AHOI2012]信号塔
题意 给\(n\)个点,求一个能覆盖所有点的面积最小的圆.(\(n \le 50000\)) 分析 随机增量法 题解 理论上\(O(n^3)\)暴力,实际上加上随机化后期望是\(O(n)\)的. 算法 ...
- c#的学习
C#,读做 "C sharp",中文译音暂时没有,非专业人士一般读"C井",专业人士一般读"C sharp".C#是一种安全的.稳定的.简单 ...
- qt播放器
播放器 http://blog.csdn.net/foruok/article/details/39005703 图片 http://blog.csdn.net/liyinhuicc/article/ ...
- Java_java动态编译整个项目,解决jar包找不到问题
java动态编译整个项目,解决jar包找不到问题原文:http://itzyx.com/index.php/javac/ 动态将java文件编译为class文件解决方案:将temp\sdl\src目录 ...
- 高性能分布式内存队列系统beanstalkd(转)
beanstalkd一个高性能.轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Facebook ...
- Linux多线程实例练习 - pthread_exit() 与 pthread_join()
Linux多线程实例练习 - pthread_exit 与 pthread_join pthread_exit():终止当前线程 void pthread_exit(void* retval); pt ...
- IIS7.0+部署ARR负载均衡
安装: 1. 安装IIS(需要附带相关的健康检查,需要原始的那个默认站点) 2. 安装ARR相关的文件 3. 安装好之后,IIS里会出现有Server Farms的节点,直接创建服务器. 站点对 ...
- dataTransfer.getData()在dragover,dragenter,dragleave中无法获取数据的问题
做拖拽相关效果时,想在ondragover时给被拖拽元素添加一些样式,于是在dragover事件的函数中通过dataTransfer.getData()获取在dragstart中设置的数据,然而发现d ...