我想获取网页并以字符串形式获取结果,但我不知道该怎么做。我在网上搜索并没有找到怎么做。
答案 0 :(得分:13)
我只使用Lua Socket附带的http submodule。您可以简单地使用http.request将网页放入您想要的任何容器中(默认为字符串,但您可以使用表格,文件,stdio,...使用ltn12过滤器和接收器)。
举个例子:
local http=require'socket.http'
body,c,l,h = http.request('http://w3.impa.br/~diego/software/luasocket/http.html')
print('status line',l)
print('body',body)
答案 1 :(得分:2)
如果找不到确切的http客户端库,可以自行实现,也可以在someone else's work上构建。
在该链接中,虽然它被称为libhttpd,但作者明确指出它可以用于任何事情。看起来像是一个更可用的lua套接字包装器。
答案 2 :(得分:0)
如果你没有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)
它对我有用
您可以在文档https://nodemcu.readthedocs.io/en/master/en/modules/http/#httpget
中找到更多信息