c# - Uri 类 (.NET) 中的奇怪行为

标签 c# .net uri

为什么 Uri 类对我发送给它的构造函数的 url 进行 urldecode,我该如何防止这种情况发生?

示例(查看查询字符串值“options”):

    string url = "http://www.example.com/default.aspx?id=1&name=andreas&options=one%3d1%26two%3d2%26three%3d3";
    Uri uri = new Uri(url); // http://www.example.com/default.aspx?id=1&name=andreas&options=one=1&two=2&three=3

更新:

// ?id=1&name=andreas&options=one%3d1%26two%3d2%26three%3d3
Request.QueryString["options"] = one=1&two=2&three=3

// ?id=1&name=andreas&options=one=1&two=2&three=3
Request.QueryString["options"] = one=1

这是我的问题:)

最佳答案

究竟是为什么? 您可以使用 url.AbsoluteUri

获取编码版本

编辑

Console.WriteLine("1) " + uri.AbsoluteUri);
Console.WriteLine("2) " + uri.Query);

OUT:
1) http://www.example.com/default.aspx?id=1&name=andreas&options=one%3d1%26two%3d2%26three%3d3
2) ?id=1&name=andreas&options=one%3d1%26two%3d2%26three%3d3

关于c# - Uri 类 (.NET) 中的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8325606/

相关文章:

c# - 控制另一台计算机上的浏览器

C#:List<T> 和 Collection<T> 之间的区别(CA1002,不要公开通用列表)

c# - 分析 bool 运算符的字符串

php - 如何将可能的 URI 与 PHP 中的其他内容分开?

java - 在 java URI 中编码井号

android - FileProvider.getUriForFile vs Uri.fromFile - 除了权限之外还有其他区别吗

c# - C# 中的匿名类型是什么?

c# - 如何指定通用源文件和属性并让它们出现在 Visual Studio 中

.net - TargetFramework属性定义

.net - 私有(private)字段在派生类中如何工作?