示例

例子,实现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")

Lua访问网页的更多相关文章

  1. 浅谈 php 采用curl 函数库获取网页 cookie 和 带着cookie去访问 网页的方法!!!!

    由于近段时间帮朋友开发一个能够查询正方教务系统的微信公众平台号.有所收获.这里总结下个人经验. 开讲前,先吐槽一下新浪云服务器,一个程序里的   同一个函数  在PC测试可以正常运行,在它那里就会挂的 ...

  2. C++实现对lua访问的封装

    这是一个几年前写的对lua的访问封装,当时的项目仅提供了最基本的lua访问接口:调用lua函数,向lua注册标准格式的C++函数. 本来我想引进luabind,但luabind相对又过于复杂,并不是所 ...

  3. windows下不打开浏览器访问网页的方法

    我们打开电脑,大多时候都是打开浏览器在上网.这都是通过浏览器来实现的,然而windows下有没有办法不通过浏览器也可以像linux那样达到访问网页的目的呢?这当然少不了批处理或者VBScript.然而 ...

  4. 访问网页时提示的503错误信息在IIS中怎么设置

    访问网页时提示的503错误信息在IIS中怎么设置 503是一种常见的HTTP状态码,出现此提示信息的原因是由于临时的服务器维护或者过载,服务器当前无法处理请求则导致了访问网页时出现了503错误.那么当 ...

  5. 检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统

    /** * Author: laixiangran. * Created by laixiangran on 2015/12/02. * 检测访问网页的浏览器呈现引擎.平台.Windows操作系统.移 ...

  6. Python调用Webservice、访问网页

    昨天在调试Webservice的时候,由于不想写测试程序,就想用Python访问Webservice,结果还是相当的麻烦.远没有VSIDE用的方便 不得不说VS还是很强大的,人性化做的很好,不需要你看 ...

  7. Linux命令行访问网页

    找到个好资料,备份行: http://hi.baidu.com/oyvfhp/blog/item/3aa5ced5b40563d351da4bb0.html   CURL --- 命令行浏览器 这东西 ...

  8. [039] 微信公众帐号开发教程第15篇-自定义菜单的view类型(访问网页)

    引言及内容概要 距离写上一篇文章<自定义菜单的创建及菜单事件响应>整整过了两个月的时间,那时公众平台还没有开放view类型的菜单.在不久前,微信公众平台悄悄开放了view类型的菜单,却没有 ...

  9. Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)

    http://blog.csdn.net/yanzi1225627/article/details/22222735 如前文所示的TCP局域网传送东西,除了对传输层的TCP/UDP支持良好外,Andr ...

随机推荐

  1. python并发——进程间同步和通信

    一.进程间同步 对于一些临界资源,不能使用并发无限消耗,就需要设置专门的临界标示,比如锁或者信号量等 from multiprocessing import Process, Lock import ...

  2. 22.从上往下打印二叉树 Java

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 解题思路 就是二叉树的层序遍历.借助一个队列就可以实现.使用两个队列一个存放节点,一个存放值.先将根节点加入到队列中,然后遍历队列中的 ...

  3. Leetcode题目79.单词搜索(回溯+DFS-中等)

    题目描述: 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格.同一个单元格内的字母不允许 ...

  4. aop备忘

    https://www.iflym.com/index.php/code/use-java-develop-compile-annotated-aspectj-programe.htmlspringb ...

  5. 【MyBatis】【SQL】删除最快纪录诞生,从一千万条记录中删除八百万条仅用2分6秒

    在 https://www.cnblogs.com/xiandedanteng/p/11669629.html 里我做个一个循环按时间查ID并删除之的程序,运行时间是4分7秒. 但是这个程序走了很多次 ...

  6. 宝塔安装Nextcloud,挂载在阿里云oss上,打造个人/企业高效私有云盘

    如下未完整整理,看懂看不懂随缘.... 准备条件: 1.阿里云oss 2.阿里云ecs 3.环境:centos7.x 步骤: 1.centos中安装宝塔面板 2.下载NextCloud安装包,上传到宝 ...

  7. shift and add算法相关

    1.超分辨率 非均匀插值 Farsiu S, Robinson D, Milanfar P. Robust shift and add approach to superresolution[J]. ...

  8. python函数的执行过程

    对于 Python 常规函数,都只有一个入口,但会有多个出口如 return 返回或者抛出异常.函数从入口进入会一直运行到 return 语句或者抛出异常,中间不会暂停,函数一直拥有控制权.当运行结束 ...

  9. 利用phpStudy 探针 提权网站服务器

    声明: 本教程仅仅是演示管理员安全意识不强,存在弱口令情况.网站被非法入侵的演示,请勿用于恶意用途! 今天看到论坛有人发布了一个通过这phpStudy 探针 关键字搜索检索提权网址服务器,这个挺简单的 ...

  10. C# WPF ASP.net 上传多文件和数据

    C# WinForm 上传多文件和数据 public static class HttpHelper { private static readonly Encoding DEFAULTENCODE ...