示例

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

最新文章

  1. 哈希表(Hash Table)
  2. YCSB-压测
  3. 使用guava进行对字符串的加锁
  4. 05-Vue入门系列之Vue实例详解与生命周期
  5. hibernate-criteria查询
  6. [翻译]:SQL死锁-为什么会出现死锁
  7. Mongoose中关联查询populate的使用
  8. jQuery中的join方法
  9. &lt;转&gt;SpringMVC与Struts2 比较总结
  10. mysq优化参数详解:innodb_buffer_pool_size,innodb_file_per_table
  11. 使用Sass和Compass组合写CSS
  12. 网页在Safari快速滚动和回弹的原理: -webkit-overflow-scrolling : touch;的实现
  13. PHP语言开发微信公众平台(订阅号)之开启基本功能及获得可用的服务器地址(2)
  14. icpc 南昌邀请赛网络赛 Max answer
  15. 解析xml,返回第一级元素键值对。如果第一级元素有子节点,则此节点的值是子节点的xml数据。
  16. python3 udp版简单的聊天器
  17. &lt;html&gt; ---- position
  18. ArcGIS出图调整
  19. Redis (非关系型数据库) 数据类型 之 String类型
  20. scp无密码访问scp -i

热门文章

  1. BFS,优先队列优化
  2. 1.springAOP原理分析
  3. linux 下执行py问题提示cannot import name request
  4. Flink初探wordCout
  5. NoSQL的种类
  6. 20180817周在ubuntu上面使用kettle一些总结
  7. 手写web框架之开发一个类加载器
  8. Linux添加日常任务监控文件或日志大小
  9. etcd配置参数详解
  10. Spring IoC的形象化理解