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

转自:http://www.cnblogs.com/daxingxing/archive/2011/08/30/2159732.html

======================================

LuaCURL 源码可以在 Lua Forge 页面下载(LuaCurl 1.0 绑定 CURL 7.14.0).

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。