在我的一个程序中,我必须处理一个加密的 Url。我想将参数保存到一个字符串中,我想保留特殊字符,因为它们是
string input_url ="domain.com/auth?token=%2FhKjSuSAO6ctIrgokvB9hmHJPlHQXqTmpuH9fEPWp8w";
我想以解码形式处理 token 查询字符串 我尝试了代码
string input_url ="domain.com/auth?token=%2FhKjSuSAO6ctIrgokvB9hmHJPlHQXqTmpuH9fEPWp8w";
val = System.Net.WebUtility.HtmlDecode(input_url.ToString());
val2 = val.Split('=')[1];
但我得到的值为 %2FhKjSuSAO6ctIrgokvB9hmHJPlHQXqTmpuH9fEPWp8w
我想要的是 val=/hKjSuSAO6ctIrgokvB9hmHJPlHQXqTmpuH9fEPWp8w
(将 %2F
保持为 /
,就像其他特殊字符(如果存在)一样)
我该怎么做?
最佳答案
您使用了错误的解码器;这是一个 URL,而不是 HTML,所以试试 UrlDecode
:
string input_url ="domain.com/auth?token=%2FhKjSuSAO6ctIrgokvB9hmHJPlHQXqTmpuH9fEPWp8w";
val = System.Net.WebUtility.UrlDecode(input_url);
val2 = val.Split('=')[1];
这在 val2
中给出了结果:
/hKjSuSAO6ctIrgokvB9hmHJPlHQXqTmpuH9fEPWp8w
HTMLDecode
是为 HTML 实体设计的,例如 &
。
关于c# - 解码 url 并存储为具有特殊字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18655380/