Fixed invalid URL encoding

This commit is contained in:
Luca Deri 2018-04-04 22:06:51 +02:00
parent 7806e3caee
commit dac87bb89f
2 changed files with 21 additions and 3 deletions

View file

@ -244,9 +244,26 @@ end
-- ##############################################
function urlencode(str)
str = string.gsub (str, "\r?\n", "\r\n")
str = string.gsub (str, "([^%w%-%.%_%~ ])",
function (c) return string.format ("%%%02X", string.byte(c)) end)
str = string.gsub (str, " ", "+")
return str
end
-- ##############################################
function getPageUrl(base_url, params)
for _,_ in pairs(params or {}) do
return base_url .. "?" .. table.tconcat(params, "=", "&")
local ret
for k, v in pairs(params) do
params[k] = urlencode(v)
end
ret = base_url .. "?" .. table.tconcat(params, "=", "&")
return ret
end
return base_url