2
VerifyEmail.aspx?key=KMSO+tLs5zY=&val=ALKXZzxNxajUWVMaddKfPG/FcFD111CD

Request.QueryString["key"].ToString()给我"KMSO tLs5zY="

我想要键值"KMSO+tLs5zY="

4

2 回答 2

4

如果您可以修改 url 参数,则可以使用该HttpUtility.UrlEncode方法对值进行编码,例如:

string url = "VerifyEmail.aspx?key=" + HttpUtility.UrlEncode("KMSO+tLs5zY=");

另一种方法是使用Base64编码

string url = "VerifyEmail.aspx?key=" + EncodeTo64("KMSO+tLs5zY=");

并解码读取查询字符串的值

String value = DecodeFrom64(Request["key"]);

本文提供了 EncodeTo64 和 DecodeFrom64 的代码http://arcanecode.com/2007/03/21/encoding-strings-to-base64-in-c/

于 2013-06-11T12:27:11.217 回答
-2

生成 url 时不要使用%2B而不是 。+

如果您在请求时得到 %2B 本身,请不要尝试使用

Request.QueryString["key"].ToString().Replace("%2B","+")

使用 HttpUtility 类的 UrlEncode() 方法:

HttpUtility.UrlEncode("KMSO+tLs5zY=")

(:

于 2013-06-11T12:22:29.043 回答