在 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 请求,并指定请求的方法、头部信息、请求数据等。最后,根据响应的状态码进行判断和处理。

Lua 发送 POST 请求获取 JSON 数据 - 详细教程

原文地址: https://www.cveoy.top/t/topic/qnkk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录