我的博客小站

LuaCURL

LuaCURL:http://luacurl.luaforge.net/

curl大家应该都知道吧,在linux下被广泛使用,也有windows版本,网络上还有其win32版本的源代码。它是一个命令行工具,用它可以实现向服务器发送一些协议包。以前在入侵一些安全性比较差的网站,都会使用到它,来向HTTP服务器发送自己构造的数据包。现在这个curl也有了lua版本,可以去下载luacurl.dll 是开源的。下面看一个例子利用它获取百度首页html源码。

curl = require("luacurl")

function get_html(url, c)
local result = { }
if c == nil then
c
= curl.new()
end
c:setopt(curl.OPT_URL, url)
c:setopt(curl.OPT_WRITEDATA, result)
c:setopt(curl.OPT_WRITEFUNCTION,
function(tab, buffer) --call back函数,必须有
table.insert(tab, buffer) --tab参数即为result,参考http://luacurl.luaforge.net/

return #buffer
end)
local ok = c:perform()
return ok, table.concat(result) --此table非上一个table,作用域不同
end

ok, html
= get_html("http://www.baidu.com/")
if ok then
print (html)

else

print ("Error" )
end

posted on 2011-08-30 16:21  BIGSING  阅读(1730)  评论(0编辑  收藏  举报

导航

我的博客小站