[C#] यूआरएल से होस्ट डोमेन प्राप्त करें?


Answers

इस तरह की कोशिश करो;

Uri.GetLeftPart( UriPartial.Authority )

Uri.GetLeftPart विधि के लिए एक यूआरआई के हिस्सों को परिभाषित करता है।

http://www.contoso.com/index.htm?date=today -> http://www.contoso.com

http://www.contoso.com/index.htm#main -> http://www.contoso.com

nntp: //news.contoso.com/123456@contoso.com -> nntp: //news.contoso.com

फ़ाइल: //server/filename.ext -> फ़ाइल: // सर्वर

Uri uriAddress = new Uri("http://www.contoso.com/index.htm#search");
Console.WriteLine("The path of this Uri is {0}", uriAddress.GetLeftPart(UriPartial.Authority));

Demo

Question

स्ट्रिंग यूआरएल से होस्ट डोमेन कैसे प्राप्त करें?

GetDomain में 1 इनपुट "यूआरएल" है, 1 आउटपुट "डोमेन"

उदाहरण 1

INPUT: http://support.domain.com/default.aspx?id=12345
OUTPUT: support.domain.com

example2

INPUT: http://www.domain.com/default.aspx?id=12345
OUTPUT: www.domain.com

Example3

INPUT: http://localhost/default.aspx?id=12345
OUTPUT: localhost



इसे इस्तेमाल करे

Console.WriteLine(GetDomain.GetDomainFromUrl("http://support.domain.com/default.aspx?id=12345"));

यह output.domain.com आउटपुट करेगा

या कोशिश करो

Uri.GetLeftPart( UriPartial.Authority )



डब्ल्यूडब्ल्यूडब्ल्यू एक उपनाम है, इसलिए यदि आप एक डोमेन चाहते हैं तो आपको इसकी आवश्यकता नहीं है। एक स्ट्रिंग से वास्तविक डोमेन प्राप्त करने के लिए मेरा litllte फ़ंक्शन यहां दिया गया है

private string GetDomain(string url)
    {
        string[] split = url.Split('.');
        if (split.Length > 2)
            return split[split.Length - 2] + "." + split[split.Length - 1];
        else
            return url;

    }



निम्नलिखित कथन का प्रयास करें

 Uri myuri = new Uri(System.Web.HttpContext.Current.Request.Url.AbsoluteUri);
 string pathQuery = myuri.PathAndQuery;
 string hostName = myuri.ToString().Replace(pathQuery , "");

उदाहरण 1

 Input : http://localhost:4366/Default.aspx?id=notlogin
 Ouput : http://localhost:4366

example2

 Input : http://support.domain.com/default.aspx?id=12345
 Output: support.domain.com