lua httpcrequest_uri 设置请求参数
在Lua中,可以使用httpc:request_uri函数来发送HTTP请求,并设置请求参数。该函数的语法如下:
httpc:request_uri(url, options)
其中,url是要发送请求的URL地址,options是一个Lua table,用于设置请求参数。
以下是一些常见的请求参数设置:
- method:设置请求方法,如GET、POST等,默认为GET。
options = {
method = "POST"
}
- headers:设置请求头信息,以Lua table的形式提供。
options = {
headers = {
["Content-Type"] = "application/json",
["Authorization"] = "Bearer token"
}
}
- body:设置请求体,可以是字符串或者Lua table。
options = {
body = "param1=value1¶m2=value2"
}
- query:设置查询参数,以Lua table的形式提供。
options = {
query = {
param1 = "value1",
param2 = "value2"
}
}
- 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¶m2=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¶m2=value2,查询参数为param3=value3¶m4=value4,同时忽略了SSL证书验证
原文地址: https://www.cveoy.top/t/topic/iq8W 著作权归作者所有。请勿转载和采集!