Request.Url.ToString()解码中的奇数

时间:2018-10-03 15:43:28

标签: asp.net

提供以下网址

  

http://dev.website.com/authentication/tokenResponse?continue=%2ftransfer%3fINTCMP%3dILC%3aSAL%3aMS%3aGEN5b194e4b09097&code=0.ac.eJfRIO

将其加载到System.Uri中时,.ToString()会导致以下结果:

  

http://dev.website.com/authentication/tokenResponse?continue=%2ftransfer%3fINTCMP%3dILC:SAL:MS:GEN5b194e4b09097&code=0.ac.eJfRIO

请注意,“:”已解码,但“ /”未解码。

如果您查看Uri.QueryString.ToString(),则会得到以下信息:

  

continue =%2ftransfer%3fINTCMP%3dILC%3aSAL%3aMS%3aGEN5b194e4b09097&code = 0.ac.eJfRIO

返回完整编码。

有人知道为什么Uri.ToString()似乎会解码':'吗?

1 个答案:

答案 0 :(得分:0)

经过更好的Google搜索后,找到了答案here

.ToString()确实转义了。最好使用AbsoluteUri