HttpUtil = HttpUtil or {}
|
|
local HttpUtil = HttpUtil
|
|
-- not_need_random: 不需要随机数
|
|
function HttpUtil.HttpGetRequest(url, get_data, call_func, timeout, not_need_random)
|
|
local request_count = 0
|
|
local do_func
|
|
do_func = function()
|
|
request_count = request_count + 1
|
|
|
|
timeout = timeout or 5000
|
|
get_data = get_data or {}
|
|
|
|
local function http_back( response )
|
|
if response then
|
|
local data = response:GetResponseText()
|
|
local state_code = response.StatusCode
|
|
local error_msg = response.Error
|
|
local ret = false
|
|
if state_code == 200 then
|
|
ret = true
|
|
end
|
|
|
|
-- if not ret and request_count == 1 then
|
|
-- if ClientConfig.backurl_account_path and string.find(url, ClientConfig.login_php) then
|
|
-- url = string.gsub(ClientConfig.login_php,ClientConfig.url_account_path,ClientConfig.backurl_account_path)
|
|
-- setTimeout(do_func,0.1)
|
|
-- return
|
|
-- end
|
|
-- end
|
|
|
|
if call_func then
|
|
call_func(ret,error_msg,data)
|
|
end
|
|
--EngineDebug.Log("-----HTTPRequestData------" .. (data or "empty"))
|
|
end
|
|
end
|
|
|
|
local req_url = url .. "?v=" .. os.time()
|
|
for name,value in pairs(get_data) do
|
|
req_url = req_url .. "&" .. name .. "=" .. value
|
|
end
|
|
if not_need_random then --无需随机数
|
|
req_url = url
|
|
end
|
|
EngineDebug.Log("-----SentHTTPRequest------" .. req_url)
|
|
local req_obj = httpManager:Request( req_url, "GET", timeout, http_back)
|
|
req_obj:Start()
|
|
end
|
|
|
|
setTimeout(do_func,0.1)
|
|
end
|
|
|
|
function HttpUtil.HttpByteBuffSent(url, post_data, file_path, call_func, timeout)
|
|
timeout = timeout or 5000
|
|
post_data = post_data or {}
|
|
|
|
local function http_back( response )
|
|
if response then
|
|
local data = response:GetResponseText()
|
|
local state_code = response.StatusCode
|
|
local error_msg = response.Error
|
|
|
|
local ret = false
|
|
if state_code == 200 then
|
|
ret = true
|
|
end
|
|
if call_func then
|
|
call_func(ret,data)
|
|
end
|
|
end
|
|
end
|
|
|
|
local req_url = url .. "?v=" .. os.time()
|
|
for name,value in pairs(post_data) do
|
|
req_url = req_url .. "&" .. name .. "=" .. value
|
|
end
|
|
|
|
print("----HttpByteBuffSent---",req_url)
|
|
local req_obj = httpManager:Request( req_url, "BYTEBUFF", timeout, http_back)
|
|
req_obj:SetSentFilePath(file_path)
|
|
req_obj:Start()
|
|
end
|
|
|
|
function HttpUtil.HttpPostRequest(url, post_data, call_func, timeout)
|
|
timeout = timeout or 5000
|
|
post_data = post_data or {}
|
|
|
|
local function http_back( response )
|
|
if response then
|
|
local data = response:GetResponseText()
|
|
local state_code = response.StatusCode
|
|
local error_msg = response.Error
|
|
|
|
local ret = false
|
|
if state_code == 200 then
|
|
ret = true
|
|
end
|
|
if call_func then
|
|
call_func(ret,error_msg,data)
|
|
end
|
|
end
|
|
end
|
|
|
|
local req_obj = httpManager:Request( url, "POST", timeout, http_back)
|
|
|
|
for name,value in pairs(post_data) do
|
|
req_obj:AddPostData(name,value)
|
|
end
|
|
|
|
req_obj:Start()
|
|
end
|
|
|
|
-- not_need_random: 不需要随机数
|
|
function HttpUtil.HttpDownLoad(url, save_path, call_func, timeout, not_need_random)
|
|
timeout = timeout or 5000
|
|
local function http_back( response )
|
|
if response then
|
|
local state_code = response.StatusCode
|
|
local error_msg = response.Error
|
|
|
|
if save_path then
|
|
response:SaveResponseToFile(save_path)
|
|
end
|
|
|
|
local ret = false
|
|
if state_code == 200 then
|
|
ret = true
|
|
end
|
|
|
|
if call_func then
|
|
call_func(ret, error_msg)
|
|
end
|
|
end
|
|
end
|
|
|
|
local req_url = url .. "?v=" .. os.time()
|
|
if not_need_random then
|
|
req_url = url
|
|
end
|
|
local req_obj = httpManager:Request( req_url, "Get", timeout, http_back)
|
|
req_obj:Start()
|
|
end
|