Lua:获取网页内容

我想获取一个网页并将结果作为字符串返回,但我不知道如何做。我在网上搜索但没有找到如何做的方法。

原文链接 https://stackoverflow.com/questions/6858500

点赞
stackoverflow用户437768
stackoverflow用户437768

如果找不到一个精确的 http 客户端库,你可以自己实现,或者在 其他人的工作 的基础上构建。

在这个链接中,尽管它被称为 libhttpd,但作者清楚地说明它可以用于任何事情。看起来是一个更可用的 lua socket 包装器。

2011-07-28 11:57:06
stackoverflow用户513763
stackoverflow用户513763

我简单地使用Lua Socket来完成,它带有一个http子模块。你可以使用http.request将网页获取到任何你想要的容器中(默认为字符串,但你可以使用表格,文件,stdio,...使用ltn12过滤器和汇流器)。

作为一个例子:

local http=require'socket.http'
local body, statusCode, headers, statusText = http.request('http://w3.impa.br/~diego/software/luasocket/http.html')

print('statusCode ', statusCode)
print('statusText ', statusText)
print('headers ')
for index,value in pairs(headers) do
    print("\t",index, value)
end

print('body',body)
2011-07-28 12:07:10
stackoverflow用户1208966
stackoverflow用户1208966

如果你没有 socket(就像我一样),但是你有 http 库/模块,那么你可以尝试这个:

http.get("https://nodemcu.readthedocs.io/en/master/en/modules/http/", nil, function(code, data)
    if (code ~= 200) then
        print("HTTP request failed")
    else
        print(code, data)
    end
end)

这对我有效。

你可以在文档中找到更多信息。

2017-12-06 21:25:00