我是C#的新手,
假设我有一个字符串
string testurl = "http://www.mytestsite.com/hello";
if (test url == root domain) {
// do something
}
我想检查字符串“testurl”是否是根域,即http://www.mytestsite.com或http://mytestsite.com等。
感谢。
答案 0 :(得分:2)
使用Uri
类:
var testUrl = new Uri("http://www.mytestsite.com/hello");
if (testUrl.AbsolutePath== "/")
{
Console.WriteLine("At root");
}
else
{
Console.WriteLine("Not at root");
}
可以很好地处理可能需要的任何规范化问题(例如,同时处理http://www.mytestsite.com
和http://www.mytestsite.com/
答案 1 :(得分:1)
您可以尝试这样:
string testurl = "http://www.mytestsite.com/hello"
if ( GetDomain.GetDomainFromUrl(testurl) == rootdomain) {
// do something
}
答案 2 :(得分:0)
string testurl = "http://www.mytestsite.com/hello";
string prefix = testurl.Split(new String[] { "//" })[0] + "//";
string url = testurl.Replace(prefix, "");
string root = prefix + url.Split("/")[0];
if (testurl == root) {
// do something
}
答案 3 :(得分:0)
您也可以尝试使用URI.HostName属性
以下示例将服务器的主机名(www.contoso.com)写入控制台。
Uri baseUri = new Uri("http://www.contoso.com:8080/");
Uri myUri = new Uri(baseUri, "shownew.htm?date=today");
Console.WriteLine(myUri.Host);
如果返回的主机名等于“http://mytestsite.com”,则表示已完成。