我对.NET的Uri实现存在问题。似乎如果方案是“ftp”,查询部分不会被解析为查询,而是被解析为路径的一部分。
以以下代码为例:
以以下代码为例:
Uri testuri = new Uri("ftp://user:pass@localhost/?passive=true");
Console.WriteLine(testuri.Query); // Outputs an empty string
Console.WriteLine(testuri.AbsolutePath); // Outputs "/%3Fpassive=true"
我觉得Uri类错误地将查询部分解析为路径的一部分。但是,将方案更改为http后,结果如预期:
Uri testuri = new Uri("http://user:pass@localhost/?passive=true");
Console.WriteLine(testuri.Query); // Outputs "?passive=true"
Console.WriteLine(testuri.AbsolutePath); // Outputs "/"
有人有解决这个问题的方法吗?或者知道一个可以按预期工作的替代Uri类吗?