当前位置: 首页 > 编程语言 > C#

从任何URL中获取准确域名Share

时间:2023-04-11 01:08:07 C#

从任何URL中获取准确域名我需要从任何Url中提取准确域名。比如url:http://www.google.com->域名:google.comurl:http://www.google.co.uk/path1/path2->域名:google.co.uk如何这可以在c#中实现吗?是否有完整的TLD列表或此任务的解析器?您可以使用Uri类访问URI的所有组件:varuri=newUri("http://www.google.co.uk/path1/path2");varhost=uri.Host;//host=="www.google.co.uk"但是,没有内置方法可以从“www.google.co.uk”中删除子域“www”。您需要实现自己的逻辑,例如varparts=host.ToLowerInvariant().Split('.');if(parts.Length>=3&&parts[parts.Length-1]=="uk"&&parts[parts.Length-2]=="co"){varresult=parts[parts.Length-3]+“.co.uk”;//结果=="google.co.uk"}使用:newUri("http://www.stackoverflow.com/questions/5984361/c-sharp-getting-exact-domain-name-from-any-url?s=45faab89-43eb-41dc-aa5b-8a93f2eaeb74#new-answer”)。GetLeftPart(UriPartial.Authority).Replace("/www.","/").Replace("http://",""));输入:http://www.stackoverflow.com/questions/5984361/c-sharp-getting-exact-domain-name-from-any-url?s=45faab89-43eb-41dc-aa5b-8a93f2eaeb74#new-answer输出:stackoverflow.com也适用于以下内容。http://www.google.com→google.comhttp://www.google.co.uk/path1/path2→google.co.ukhttp://localhost.intranet:88/path1/path2→本地主机。intranet:88http://www2.google.com→www2.google.com试试System.Uri类。http://msdn.microsoft.com/en-us/library/system.uri.aspxnewUri("http://www.google.co.uk/path1/path2").Host返回"www.google.英国”。从那里它是字符串操作。:/使用:varuri=newUri(Request.RawUrl);//从请求中获取url或替换为您自己的vardomain=uri.GetLeftPart(UriPartial.Authority);类型:网址=http://google。com/?search=true&q=how+to+use+google结果:domain=google.com另一个变体,没有依赖关系:stringGetDomainPart(stringurl){vardoubleSlashesIndex=url.IndexOf("://");varstart=doubleSlashesIndex!=-1?doubleSlashesIndex+"://".Length:0;varend=url.IndexOf("/",start);if(end==-1)end=url.Length;stringtrimmed=url.Substring(start,end-start);如果(trimmed.StartsWith("www."))trimmed=trimmed.Substring("www.".Length);返回修剪;示例:http://www.google.com→google.comhttp://www.google.co.uk/path1/path2→google.co.ukhttp://localhost.intranet:88/path1/path2→localhost.intranet:88http://www2.google.com→www2.google.com以上是C#学习教程:从任意URL获取准确域名分享完整内容,如果对你有用和需要了解更多的C#学习教程,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: