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