gpt4 book ai didi

nginx - 如何在 Lua 中对 request_uri 字符串进行 urldecode

转载 作者:行者123 更新时间:2023-12-04 04:48:55 27 4
gpt4 key购买 nike

当我使用 ngx.var.request_uri我得到一个包含 %20 代替空格的字符串。是否有 urldecode() 函数或类似函数来解码我的字符串?

最佳答案

解码后的 URI 可以在 ngx.var.uri 中找到。 .它不包含查询字符串,如果您需要它,请参阅 ngx.var.query_string .

编辑:如果你不能使用它,这里有一个简单的方法来在 Lua 中对 URL 进行转义。

local hex_to_char = function(x)
return string.char(tonumber(x, 16))
end

local unescape = function(url)
return url:gsub("%%(%x%x)", hex_to_char)
end

用法示例:
local url = "/test/some%20string?foo=bar"
print(unescape(url)) -- /test/some string?foo=bar

但是您可能应该在使用它之前拆分查询字符串。

关于nginx - 如何在 Lua 中对 request_uri 字符串进行 urldecode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20282054/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com