lua-resty-http上传数据
lua-resty-http是一个基于Openresty/ngx_lua的HTTP客户端,支持POST方法上传数据。用法很简单。
content_by_lua_block {
local http = require "resty.http"
local httpc = http:new()
local res = httpc:request_uri("http://www.baidu.com/", {
method = "POST",
body= "Hello, Lua!",
headers = {
["User-Agent"] = "lua-resty-http",
}
})
if not res then
return
end
ngx.log(ngx.ERR, "status: ", res.status)
}
request_uri这个方法用于向http://www.baidu.com/发送POST请求,包体内容为"Hello, Lua!"。
HTTP中传输包体
HTTP协议中,有包体需要发送时,需要有方法标识包体的结束,这样对方才能判断是否接收到了完整的包体。判断方法有两个。
包体的长度确定时,HTTP请求头部有Content-Length字段,标记包体的长度
包体长度不确定时,使用分块传输。请求头部有"Transfer-Encodi