在Lua中,将从给定的URL下载并存储文件到给定的路径中。

我对 lua 还不熟悉,但正在开发一个可以处理给定路径下特定文件的应用程序。现在,我想处理下载下来的文件。有没有lua库或可用的代码行可以用于下载并储存在我的电脑上?

点赞
用户221509
用户221509

你可以使用 LuaSocket 库及其 http.request 函数从一个 URL 下载内容。

该函数有两种形式:

  • 简单调用:http.request('http://stackoverflow.com')
  • 高级调用:http.request { url = 'http://stackoverflow.com', ... }

简单调用返回 4 个值,即 URL 的整个 content 作为字符串,HTTP 响应代码,headers 和 response line。然后,您可以使用 io 库将 content 保存到文件中。

高级调用允许您设置多个参数,如 HTTP 方法和 headers。一个重要的参数是 sink,它表示 LTN12 模式的 sink。用于存储到文件,您可以使用 sink.file

local file = ltn12.sink.file(io.open('stackoverflow', 'w'))
http.request {
    url = 'http://stackoverflow.com',
    sink = file,
}
2012-07-10 13:29:21