function urldecode(s)
s = s:gsub('+', ' ')
:gsub('%%(%x%x)', function(h)
return string.char(tonumber(h, 16))
end)
return s
end
function parseurl(s)
local ans = {}
for k,v in s:gmatch('([^&=?]-)=([^&=?]+)' ) do
ans[ k ] = urldecode(v)
end
return ans
end
local a = "http://w...content-available-to-author-only...e.com/test.html?key1=val1&key2=val2&key3=val3"
t = parseurl(a)
print(t.key1 )
print(t.key2)
ZnVuY3Rpb24gdXJsZGVjb2RlKHMpCiAgcyA9IHM6Z3N1YignKycsICcgJykKICAgICAgIDpnc3ViKCclJSgleCV4KScsIGZ1bmN0aW9uKGgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHJpbmcuY2hhcih0b251bWJlcihoLCAxNikpCiAgICAgICAgICAgICAgICAgICAgICAgICBlbmQpCiAgcmV0dXJuIHMKZW5kCgpmdW5jdGlvbiBwYXJzZXVybChzKQogIGxvY2FsIGFucyA9IHt9CiAgZm9yIGssdiBpbiBzOmdtYXRjaCgnKFteJj0/XS0pPShbXiY9P10rKScgKSBkbwogICAgYW5zWyBrIF0gPSB1cmxkZWNvZGUodikKICBlbmQKICByZXR1cm4gYW5zCmVuZAoKbG9jYWwgYSA9ICJodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vdGVzdC5odG1sP2tleTE9dmFsMSZrZXkyPXZhbDIma2V5Mz12YWwzIgp0ID0gcGFyc2V1cmwoYSkKcHJpbnQodC5rZXkxICkKcHJpbnQodC5rZXkyKQo=