URL 解码器 c# asp.net
URL Decoder c# asp.net
在 QueryString 中,我有一个看起来像这样的部分
...u4w51EEcg8%2bj04e7C....
当我使用HttpUtility.UrlDecode时,代表“+”的“%2b”部分变成了白色space。
我首先使用 HttpUtility.UrlEncode 对字符串进行编码。
有人知道发生了什么事吗?
看起来 "Request.QueryString[]" 解码了它得到的任何内容,所以我对查询字符串解码了 2 次,这使得“+”变成了空格。
你是在解码两次吗?为方便起见,URL 中的 +
符号解码为 </code> (space, 0x20)。虽然 <code>%2b
应该解码为 +
,但解码后会得到
.
编辑:刚刚看到您的自我回答,是的,请始终检查您的 getter 功能/属性是否自动为您解码。双重解码通常不会产生预期的结果,甚至会导致安全风险。
在 QueryString 中,我有一个看起来像这样的部分
...u4w51EEcg8%2bj04e7C....
当我使用HttpUtility.UrlDecode时,代表“+”的“%2b”部分变成了白色space。 我首先使用 HttpUtility.UrlEncode 对字符串进行编码。
有人知道发生了什么事吗?
看起来 "Request.QueryString[]" 解码了它得到的任何内容,所以我对查询字符串解码了 2 次,这使得“+”变成了空格。
你是在解码两次吗?为方便起见,URL 中的 +
符号解码为 </code> (space, 0x20)。虽然 <code>%2b
应该解码为 +
,但解码后会得到 .
编辑:刚刚看到您的自我回答,是的,请始终检查您的 getter 功能/属性是否自动为您解码。双重解码通常不会产生预期的结果,甚至会导致安全风险。