在Lua中,可以使用httpc:request_uri函数来发送HTTP请求,并设置请求参数。该函数的语法如下:

httpc:request_uri(url, options)

其中,url是要发送请求的URL地址,options是一个Lua table,用于设置请求参数。

以下是一些常见的请求参数设置:

  1. method:设置请求方法,如GET、POST等,默认为GET。
options = {
    method = "POST"
}
  1. headers:设置请求头信息,以Lua table的形式提供。
options = {
    headers = {
        ["Content-Type"] = "application/json",
        ["Authorization"] = "Bearer token"
    }
}
  1. body:设置请求体,可以是字符串或者Lua table。
options = {
    body = "param1=value1&param2=value2"
}
  1. query:设置查询参数,以Lua table的形式提供。
options = {
    query = {
        param1 = "value1",
        param2 = "value2"
    }
}
  1. ssl_verify = false:设置是否验证SSL证书,默认为true。如果要忽略SSL证书验证,可以设置为false。

使用示例:

local httpc = require("resty.http").new()

local options = {
    method = "POST",
    headers = {
        ["Content-Type"] = "application/json",
        ["Authorization"] = "Bearer token"
    },
    body = "param1=value1&param2=value2",
    query = {
        param3 = "value3",
        param4 = "value4"
    },
    ssl_verify = false
}

local res, err = httpc:request_uri("http://example.com/api", options)
if not res then
    ngx.log(ngx.ERR, "failed to send request: ", err)
    return
end

ngx.say(res.body)

以上示例中,设置了请求方法为POST,请求头包含Content-Type和Authorization字段,请求体为param1=value1&param2=value2,查询参数为param3=value3&param4=value4,同时忽略了SSL证书验证

lua httpcrequest_uri 设置请求参数

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

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