zoukankan      html  css  js  c++  java
  • 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(" --------------------------- ");
        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(" --------------------------- ");
        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(" --------------------------- ");
        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 ";
        print(resultBuff)
        file:write(resultBuff);

      else

        resultBuff = ip.." config NOK ";
        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")

  • 相关阅读:
    ES6语法:var、let、const的区别详解
    idea新建springboot项目
    Serlvet之cookie和session学习
    常见排序算法
    Spring MVC拦截器学习
    分组数据
    redis数据库学习
    redis实现排行榜
    redis整合springboot的helloworld
    dubbo整合springboot最详细入门教程
  • 原文地址:https://www.cnblogs.com/gd-luojialin/p/10962880.html
Copyright © 2011-2022 走看看