如何避免使用HttpUtility.ParseQueryString()再次编码解密的解码查询字符串参数

时间:2017-04-29 01:04:24

标签: c# asp.net

我有一个带有查询字符串参数的uri,我加密和编码。然后我解码和解密。解密的解码的具有与原始的相同的参数。

但是,当我使用uri.ParseQueryString()获取uri查询字符串参数时,由于此方法的内置编码,解密的,已解码的参数再次被编码。

只有当我使用非英语外国字符时才会发生这种情况。如果我解决这个问题,那么特殊字符(+,%)会被编码两次,因此+变为空格。

不确定如何将A你好B+c de.txt这样的查询参数保留到此表单中。它变为A你好B+c de.txt。或者{+ 1}}当+被修复时。

我可以回到原来的A%u4f60%u597dB+c de.txt吗?

1 个答案:

答案 0 :(得分:0)

听起来你是在滥用查询参数。看起来你真正应该使用的是发布数据,并在发送之前对其内容进行加密。