源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

142 行
3.5 KiB

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