【问题标题】:Wildcards in a Query String C#查询字符串中的通配符 C#
【发布时间】:2011-11-22 15:21:42
【问题描述】:

不知道如何问这个或者是否可以做到。

我有一个 ID 号,我想测试它是否与存储在我正在使用的 API 中的 URL 查询字符串中的 ID 匹配。

因此,如果我要搜索的 URL 包含 http://www.testurl.com/page?key=55555,我只想输入我的 http 请求(如果该 url“包含”该数字)。测试 url 是否完全相等已被证明是有问题的,因为存储的查询字符串还有很多其他信息。

考虑到我已经在对 html 进行编码,查询字符串中是否可以使用通配符?任何帮助表示赞赏。谢谢!

【问题讨论】:

    标签: c# winforms api query-string


    【解决方案1】:
    string[] myUrls = new string[] {
      "http://www.testurl.com/page?key=55555",
      "http://www.testurl.com/page?key=555556789",
      "http://www.testurl.com/page?foo=bar&key=55555&baz=938355555"};
    
    string myToken = "key=55555";
    bool exists;
    
    foreach(string url in myUrls)
    {
        System.Uri uri = new System.Uri(url);
        string q = uri.GetComponents(UriComponents.Query, UriFormat.Unescaped);
    
        if (q.Split('&').Any(x=>x== myToken))
        {
           Console.WriteLine(string.Format("found it in '{0}'", url));
        }
    }
    

    【讨论】:

      【解决方案2】:

      如果您可以访问 QueryString,您可以这样做:

      if (HttpContext.Current.Request.QueryString["key"].ToLower() == "5555")
          //do something
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-25
        • 1970-01-01
        • 2019-04-16
        • 2016-08-15
        • 1970-01-01
        • 2012-07-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多