lua发送http请求
时间: 2023-09-01 14:12:04 浏览: 313
lua-resty-post:用于openresty的HTTP发布实用程序
在 Lua 中发送 HTTP 请求可以使用 LuaSocket 库。以下是一个发送 GET 请求的示例代码:
```lua
local http = require("socket.http")
local response, code = http.request("https://www.example.com")
if code == 200 then
print(response)
else
print("Request failed with error code:", code)
end
```
如果需要发送 POST 请求,可以使用以下代码:
```lua
local http = require("socket.http")
local ltn12 = require("ltn12")
local data = "param1=value1¶m2=value2"
local headers = {
["Content-Type"] = "application/x-www-form-urlencoded",
["Content-Length"] = string.len(data)
}
local response_body = {}
local res, code, response_headers = http.request {
url = "https://www.example.com",
method = "POST",
headers = headers,
source = ltn12.source.string(data),
sink = ltn12.sink.table(response_body)
}
if code == 200 then
print(table.concat(response_body))
else
print("Request failed with error code:", code)
end
```
注意,以上代码中使用了 LuaSocket 库中的 ltn12 模块来处理请求和响应的数据。如果你还没有安装 ltn12 模块,可以通过以下命令来安装:
```lua
luarocks install lua-socket
```
阅读全文