繁体   English   中英

查询字符串C#中的通配符

[英]Wildcards in a Query String C#

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

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

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

考虑到我已经编码了html,查询字符串中的通配符是否可能? 任何帮助表示赞赏。 谢谢!

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));
    }
}

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM