Lua 发送 POST 请求获取 JSON 数据 - 详细教程
在 Lua 中发送 POST 请求并获取数据,可以使用 Lua 的 'http' 模块。首先,需要确保已安装了 Lua 的 'luasocket' 库,在命令行中输入以下命令进行安装:
luarocks install luasocket
接下来,可以使用以下代码发送 POST 请求并获取数据:
local http = require("socket.http")
local json = require("json")
local url = "http://example.com/api"
local data = { key1 = "value1", key2 = "value2" } -- 请求的数据,以 key-value 形式存储
-- 将数据转为 json 格式
local requestData = json.encode(data)
-- 发送 POST 请求
local response, status, headers, status_line = http.request {
url = url,
method = "POST",
headers = {
["Content-Type"] = "application/json",
["Content-Length"] = #requestData
},
source = ltn12.source.string(requestData),
sink = ltn12.sink.table(responseBody)
}
-- 判断响应状态码
if status == 200 then
-- 获取响应数据
local responseData = table.concat(responseBody)
-- 将响应数据转为 Lua 表
local decodedData = json.decode(responseData)
-- 在这里对数据进行判断或处理
-- ...
else
print("请求失败,状态码:" .. status_line)
end
在上述代码中,首先引入了 'http' 和 'json' 模块,然后指定了请求的 URL 和数据。接着,将数据转为 JSON 格式,并设置请求头的 'Content-Type' 为 'application/json'。然后,使用 'http.request' 函数发送 POST 请求,并指定请求的方法、头部信息、请求数据等。最后,根据响应的状态码进行判断和处理。
原文地址: https://www.cveoy.top/t/topic/qnkk 著作权归作者所有。请勿转载和采集!