ইউআরএল থেকে হোস্ট ডোমেন পাবেন?


143

স্ট্রিং ইউআরএল থেকে হোস্ট ডোমেন কীভাবে পাবেন?

গেটডোমাইনের 1 ইনপুট "URL", 1 আউটপুট "ডোমেন" রয়েছে

Example1

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

মনে হচ্ছে প্রশ্নটি ইউআরএলে হোস্টের জন্য , এবং হোস্টের ডোমেনের জন্য নয় , যদি না আমি "হোস্ট ডোমেন" (কেবল "হোস্ট" এর বিপরীতে) সম্পূর্ণ ভুল বুঝি না। উত্তরটি উরির লাইনের সাথে রয়েছে kind প্রশ্নটি ও গ্রহণযোগ্য উত্তরের পছন্দসই উদাহরণগুলি আরও ভালভাবে প্রতিবিম্বিত করতে ও সারিবদ্ধ করার জন্য প্রশ্নটি আপডেট করা উচিত ost এমন একধরণের সমর্থন।
নুনস্পেশাল

উত্তর:


266

ইউআরএলের হোস্ট পেতে আপনি Requestঅবজেক্ট বা Uriঅবজেক্ট ব্যবহার করতে পারেন ।

অনুরোধ। ইউআরএল ব্যবহার করা

string host = Request.Url.Host;

উরি ব্যবহার করা হচ্ছে

Uri myUri = new Uri("http://www.contoso.com:8080/");   
string host = myUri.Host;  // host is "www.contoso.com"

2
হাই, আমি রিকোয়েস্ট.আরলটি ব্যবহার করতে চেয়েছিলাম, তবে ভিজ্যুয়াল স্টুডিও এখনও প্রতীক 'অনুরোধ' সমাধান করতে পারে না returns আমি জানি না ভুল কি। আমি ভিজ্যুয়াল স্টুডিও 2010 এবং নেট ফ্রেমওয়ার্ক 4.0 ব্যবহার করি। কেউ কি লক্ষণ ব্যাখ্যা করতে পারেন? ধন্যবাদ
মিশাল

1
আপনার ওয়েব পৃষ্ঠাগুলি / পরিষেবাদিগুলিতে যা অনুরোধ অবজেক্ট রয়েছে তা ডিফল্টরূপে নেই। আপনার কাছে অনুরোধের সামগ্রীটি উপলভ্য না থাকলে আপনি উরি ক্লাস করতে পারেন
আদিল

54

এরকম চেষ্টা করুন;

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

এনএনটিপি: // নিউজ.কনটোস / 123456@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


28

উরি ক্লাস ব্যবহার করুন এবং হোস্ট সম্পত্তি ব্যবহার করুন

Uri url = new Uri(@"http://support.domain.com/default.aspx?id=12345");
Console.WriteLine(url.Host);

15

নিম্নলিখিত বিবৃতি চেষ্টা করুন

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

Example1

 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

ময়ূরী যদি কাজ করে না। প্যাটএন্ডকিউয়েরি "/" এটি "/" এর সাথে "" প্রতিস্থাপন করে
এনডিপেন্ড দল থেকে প্যাট্রিক

9

সর্বোত্তম উপায় এবং এটি করার সঠিক উপায় হল Uri.Authorityক্ষেত্রটি ব্যবহার করা

উড়ি লোড করুন এবং ব্যবহার করুন:

Uri NewUri;

if (Uri.TryCreate([string with your Url], UriKind.Absolute, out NewUri))
{
     Console.Writeline(NewUri.Authority);
}

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

Input : http://www.domain.com/default.aspx?id=12345
output : www.domain.com

Input : http://localhost/default.aspx?id=12345
Output : localhost

আপনি যদি ইউআরএলকে পরিচালনা করতে চান তবে উরি অবজেক্টটি ব্যবহার করা এটির পক্ষে ভাল উপায়। https://msdn.microsoft.com/en-us/library/system.uri(v=vs.110).aspx


1

এটা চেষ্টা কর

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

এটি আউটপুট সমর্থন.ডোমেন.কম.

অথবা চেষ্টা করুন

Uri.GetLeftPart( UriPartial.Authority )


-2

ডাব্লুডাব্লুডাব্লু একটি উপনাম, সুতরাং আপনি যদি কোনও ডোমেন চান তবে আপনার এটির দরকার নেই। স্ট্রিং থেকে আসল ডোমেনটি পেতে এখানে আমার লিটল্ট ফাংশন

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;

    }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.