37 lines
1.2 KiB
Lua
37 lines
1.2 KiB
Lua
|
|
-- 指定模块引用目录,否则无法加载同目录下的其他文件
|
||
|
|
--package.path = package.path .. ';/usr/local/opt/openresty/nginx/scripts/?.lua';
|
||
|
|
package.path = package.path .. ';<SCRIPT_PATH>/?.lua';
|
||
|
|
|
||
|
|
local _M = {}
|
||
|
|
|
||
|
|
function _M.upyun_download(httpc, Upt, pl, uri)
|
||
|
|
|
||
|
|
ngx.log(ngx.INFO, "UPYUN DOWNLOAD : URI -> " .. uri)
|
||
|
|
|
||
|
|
local upt = Upt.upt(uri)
|
||
|
|
ngx.log(ngx.INFO, "UPYUN DOWNLOAD : UPT -> " .. upt)
|
||
|
|
|
||
|
|
local remote_url = ngx.var.upyun_domain .. uri .. "?_upt=" .. upt
|
||
|
|
ngx.log(ngx.INFO, "UPYUN DOWNLOAD : REMOTE_URL -> " .. remote_url)
|
||
|
|
|
||
|
|
-- ngx.log(ngx.INFO, "REQUEST UPYUN DOWNLOAD : HTTPC -> " .. pl.write(httpc))
|
||
|
|
|
||
|
|
local no_exception, resp, resp_err = pcall(httpc.request_uri, httpc, remote_url,
|
||
|
|
{
|
||
|
|
ssl_verify = false, -- 设置参数 ssl_verify 为false 不校验ssl证书
|
||
|
|
method = "GET",
|
||
|
|
})
|
||
|
|
|
||
|
|
-- TODO: send resp.body to Flask API (ai-api) -> convert_mxml_to_xml() -> XML string
|
||
|
|
-- local xml = ai-api.convert_mxml_to_xml(resp.body)
|
||
|
|
-- ngx.log(xml)
|
||
|
|
|
||
|
|
ngx.log(ngx.INFO, "RESP -> ", pl.write(resp))
|
||
|
|
-- save the content to a file
|
||
|
|
local f = assert(io.open('/tmp/test.jpg', 'wb')) -- open in "binary" mode
|
||
|
|
f:write(resp.body)
|
||
|
|
f:close()
|
||
|
|
|
||
|
|
end
|
||
|
|
|
||
|
|
return _M
|