从url中提取段路径参数

时间:2014-02-24 16:33:51

标签: c#

我一直试图弄清楚如何从REST网址中提取段路径参数 我们知道REST url参数可以用两种方式表示:

  1. 作为路径的一部分
  2. 作为查询参数。
  3. 当用户点击我们网站上的链接时,我们会捕获链接以及使用Google Api遍历的后续路径,并将其作为三个部分保存在我们的数据库中:

    1. 基本网址
    2. 段路径参数(如果有)
    3. 查询参数(如果有)。
    4. 例如:http://www.test.com/article/12345?order=2

      分为:

      baseurl:http://www.test.com/article
      段路径参数:12345
      查询参数:order=2

      我知道如何将片段从网址中分离出来,但我的问题是我如何知道在给定的网址中是否有一个片段是一个参数。例如,在上面的示例中,“12345”可以是REST参数,也可以只是路径的一部分。如何区分

1 个答案:

答案 0 :(得分:3)

使用Uri类:

Uri uri = new Uri(@"http://www.test.com/article/12345?order=2");

foreach (var segment in uri.Segments)
{
    Console.WriteLine(segment);
}

你会得到:

/
article/
12345

uri.Query会给你?order=2