繁体   English   中英

如何在UWP App中编码/解码url字符串

[英]How to encode/decode url strings in an UWP App

我正在构建一个与Web-Api通信的UWP应用程序。 在某些点,我在URL中发送一个字符串到Web-Api,可以由用户操作。 因此,字符串可以包含可以对Web-Api做恶事的字符。
例如:
这是我的UserController

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

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

../vipuser

他可以访问VipUserController。 因为../是一个hirachy。

我搜索了一下,发现这篇SO文章推荐使用System.Web.UrlEncodeUnicodeSystem.Web.UrlDecode

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

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

首选Uri上的方法的System.Net.WebUtility.UrlDecodeSystem.Net.WebUtility.UrlEncode

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM