lua cURL使用笔记

 

cURL

      cURL是 URL命令行工具, 即 command URL, 可以通过命令行模拟各种应用协议的发包, 包括FTP HTTP HTTPS,

官方网站 http://curl.haxx.se/

 

luacurl

lua curl是基于curl的库libcurl(http://curl.haxx.se/libcurl/),

针对libcurl开放的API(http://curl.haxx.se/libcurl/c/), 定义lua API对curl基本功能进行封装。

 

luauser中列出来3中绑定libcurl的lua封装库(http://lua-users.org/wiki/LuaCurl),

其中freepops-luacurl(http://www.freepops.org/en/)实现了libcurl所有的easy 接口 (http://curl.haxx.se/libcurl/c/libcurl-easy.html)

 

 luaforge上提供一个 windows 上可运行luacurl的压缩包(http://files.luaforge.net/releases/luacurl/freepops-luacurl/0.3.0):

 freepops-lua-curl-binary-win32-openssl

本文示例就采用这个windows可运行包。

解压后, cmd命令行cd到解压目录,使用 luaxx.exe yy.lua 接口运行示例脚本。

 

 示例

 例子,实现https方式,登录网站,访问某个网页,修改其中参数的功能。其中xx应用时候需要修改。

require("curl")

local ipList = 
{
    "192.168.1.1",
  "192.168.1.1",
}

--登陆
function loginWeb(ip) 
  c
= curl.easy_init()
  c:setopt(curl.OPT_SSL_VERIFYHOST,
0);
  c:setopt(curl.OPT_SSL_VERIFYPEER,
0);
  c:setopt(curl.OPT_URL,
"https://"..ip.."/")
c:setopt(curl.OPT_POSTFIELDS,
"Username=admin&Password=admin&Frm_Logintoken=&action=login")

  c:setopt(curl.OPT_WRITEFUNCTION, function(buffer)
    --print(buffer)
     --print("\r\n---------------------------\r\n");
    return #buffer
  end)

   c:perform()
end

--访问页面
function accessPage(ip) 
  c
= curl.easy_init()
  c:setopt(curl.OPT_SSL_VERIFYHOST,
0);
  c:setopt(curl.OPT_SSL_VERIFYPEER,
0);
  c:setopt(curl.OPT_URL,
"https://"..ip.."/xxpage.html")

  c:setopt(curl.OPT_WRITEFUNCTION, function(buffer)
    --print(buffer)
     --print("\r\n---------------------------\r\n");
    return #buffer
  end)

   c:perform()
end

--设置参数
function setParameter(ip, file) 
  c
= curl.easy_init()
  c:setopt(curl.OPT_SSL_VERIFYHOST,
0);
  c:setopt(curl.OPT_SSL_VERIFYPEER,
0);
  c:setopt(curl.OPT_URL,
"https://"..ip.."/xx.php")
  c:setopt(curl.OPT_POSTFIELDS,
"DaylightSavingsUsed=1&Dscp=-1")

  local htmlTable = {}
  c:setopt(curl.OPT_WRITEFUNCTION,
function(buffer)
    --print(buffer)
     --print("\r\n---------------------------\r\n");
    table.insert(htmlTable, buffer)     return #buffer   end)

   c:perform()

  local htmlStr = table.concat(htmlTable);
  local resultBuff = "";
  if string.match(htmlStr, "<result>SUCC</result>") ~= nil then
    resultBuff = ip.." config OK\r\n";
    print(
resultBuff)
    file:write(resultBuff);
  else
    resultBuff = ip.." config NOK\r\n";
    print(resultBuff)
   file:write(resultBuff);

 end
end


local file = io.open(".\\result.txt", "w+"); for key,ip in ipairs(ipList) do
  loginWeb(ip);
  accessPage(ip);
  openLightSave(ip, file);
end file:close();
print("Done")

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Windows上编译luacurl,您需要先安装一些依赖项和工具。以下是一般的步骤: 1. 安装CMake:在https://cmake.org/download/ 下载最新的CMake Windows安装程序,并按照提示进行安装。 2. 安装libcurl:您可以从https://curl.se/windows/ 下载预编译的libcurl二进制文件。选择与您的操作系统和编译器兼容的版本,并按照说明进行安装。 3. 安装Lua:您可以从https://www.lua.org/download.html 下载Lua源代码,并按照说明进行编译和安装。 4. 获取luacurl源代码:您可以从https://github.com/Lua-cURL/Lua-cURLv下载luacurl的源代码。点击“Code”按钮,然后选择“Download ZIP”来获取源代码压缩包。 5. 解压源代码:将下载的ZIP文件解压到您选择的目录中。 6. 打开命令提示符:按下Win + R,然后输入“cmd”并按Enter键来打开命令提示符。 7. 进入源代码目录:使用cd命令导航到解压的luacurl源代码目录。 8. 创建build目录:在命令提示符中输入以下命令创建一个名为“build”的目录: ``` mkdir build cd build ``` 9. 运行CMake:在命令提示符中输入以下命令来运行CMake: ``` cmake .. ``` 10. 编译luacurl:在命令提示符中输入以下命令来编译luacurl: ``` cmake --build . ``` 11. 完成编译:等待编译过程完成,如果一切顺利,将会在build目录中生成一个luacurl的编译结果。 请注意,这只是一般的步骤,具体的步骤可能因您的系统环境和配置而有所不同。如果遇到任何错误或问题,请参考相关文档或寻求开发社区的帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值