【问题标题】:How to encode/decode url strings in an UWP App如何在 UWP 应用程序中编码/解码 url 字符串
【发布时间】:2016-03-22 19:59:53
【问题描述】:

我正在构建一个与 Web-Api 通信的 UWP 应用程序。在某些时候,我将 url 中的字符串发送到 Web-Api,用户可以对其进行操作。因此,字符串可以包含可能对 Web-Api 做坏事的字符。
例如:
这是我的用户控制器

[Route("api/user/{uid}")]
public User GetUser(string uid)
{
   return userRepository.GetByUid(uid);
}

为了这个例子,我们假设用户可以在文本框中手动输入uid。现在如果他加入

../vipuser

他可以访问 VipUserController。因为../ 上升了一级。

我搜索了一下,发现this SO article 推荐使用System.Web.UrlEncodeUnicodeSystem.Web.UrlDecode

但由于 UWP 应用程序不包含 System.Web 命名空间,我想知道是否有替代此方法的方法,我可以将其用于 UWP 应用程序?

【问题讨论】:

    标签: c# url asp.net-web-api uwp


    【解决方案1】:

    Uri.EscapeDataString()Uri.UnescapeDataString() 可以解决问题。

    【讨论】:

    • 谢谢,我会试一试的。
    【解决方案2】:

    优先使用System.Net.WebUtility.UrlDecodeSystem.Net.WebUtility.UrlEncode 而不是Uri 上的方法。

    这是因为WebUtility 在“multipart/form-data”和“application/x-www-form-urlencoded”编码中一致地处理空格 () 和加号 (+)。

    【讨论】:

      猜你喜欢
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 2016-01-13
      • 2019-01-14
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多