c# - 解码 url 并存储为具有特殊字符的字符串

标签 c# urldecode

在我的一个程序中,我必须处理一个加密的 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/

相关文章:

c# - 从复杂对象请求 int 时 Dapper 默认行为

c# - 如何加载旧版本的 .NET 程序集?

c# - 如何使用 LINQ to SQL 从 ID 值列表中获取结果列表?

c# - 在 C# 中使用 PrintSpoolerAPI 函数 SetForm()

php - JS/PHP交叉url编码和url编码

python - 哪种编码?

utf-8 - 在 VBScript 中解码 URL 编码的 UTF-8 字符串

python - 网址在 Python 中解码 UTF-8

javascript - 解码 & 在附加的 javascript url 中

c# - Unity - 游戏对象看鼠标