不确定如何询问或是否可以这样做。
我有一个ID号,我想测试它是否与存储在我正在使用的API中的URL查询字符串中的ID匹配。
因此,如果我要搜索的网址包含http://www.testurl.com/page?key=55555
,我只想在我的http请求中输入该网址“包含”该数字。测试url是否完全相同已经证明是有问题的,因为存储的查询字符串有很多其他信息。
查询字符串中的通配符是否可行,考虑到我已经编码了html?任何帮助表示赞赏。谢谢!
答案 0 :(得分:3)
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));
}
}
答案 1 :(得分:2)
如果您可以访问QueryString,您可以这样做:
if (HttpContext.Current.Request.QueryString["key"].ToLower() == "5555")
//do something