InternetDomainName.topPrivateDomain()
পেয়ারা ব্যবহার করে এখানে একটি ছোট এবং সাধারণ লাইন দেওয়া হল :InternetDomainName.from(new URL(url).getHost()).topPrivateDomain().toString()
দেওয়া হয়েছে http://www.google.com/blah
, যে আপনাকে দিতে হবে google.com
। বা, দেওয়া http://www.google.co.mx
, এটি আপনাকে দেবে google.co.mx
।
সা কদা যেমন এই পোস্টে অন্য একটি উত্তরে মন্তব্য করেছেন , এই প্রশ্নটি আগে জিজ্ঞাসা করা হয়েছে: প্রদত্ত ইউআরএল থেকে প্রধান ডোমেন নামটি বের করুন । সেরা উত্তর এই প্রশ্নের থেকে সত্য , যারা পেয়ারা এর প্রস্তাব দেওয়া (InternetDomainName.topPrivateDomain)
টপপ্রাইভেটডোমাইন () সর্বজনীন বুলিয়ান
এই ডোমেন নামটি হ'ল একটি সাবডোমেন উপাদান দ্বারা সর্বজনীন প্রত্যয় অনুসরণ করে কিনা তা সূচিত করে। উদাহরণস্বরূপ, google.com এবং foo.co.uk এর জন্য সত্য, তবে www.google.com বা co.uk এর জন্য নয় returns
সতর্কতা: এই পদ্ধতিটির সত্যিকারের ফলাফলটি বোঝায় না যে ডোমেনটি সর্বোচ্চ স্তরে যা একটি হোস্ট হিসাবে সম্বোধনযোগ্য, কারণ অনেকগুলি পাবলিক প্রত্যয়ও ঠিকঠাক হোস্ট। উদাহরণস্বরূপ, ডোমেন বার.uk.com এর ইউকে.কম এর সর্বজনীন প্রত্যয় রয়েছে, সুতরাং এটি এই পদ্ধতি থেকে সত্য হয়ে উঠবে। তবে ইউকে ডট কম নিজেই একটি ঠিকানাযোগ্য হোস্ট।
এই পদ্ধতিটি কোনও ডোমেন সম্ভবত সর্বোচ্চ স্তরের জন্য কুকি সেট করা হতে পারে তা নির্ধারণ করতে ব্যবহার করা যেতে পারে, যদিও এটি কুকি নিয়ন্ত্রণের পৃথক ব্রাউজারগুলির প্রয়োগের উপর নির্ভর করে। বিশদের জন্য আরএফসি 2109 দেখুন।
এটির সাথে একত্রে রাখলে URL.getHost()
, যা মূল পোস্টটিতে ইতিমধ্যে রয়েছে, আপনাকে দেয়:
import com.google.common.net.InternetDomainName;
import java.net.URL;
public class DomainNameMain {
public static void main(final String... args) throws Exception {
final String urlString = "http://www.google.com/blah";
final URL url = new URL(urlString);
final String host = url.getHost();
final InternetDomainName name = InternetDomainName.from(host).topPrivateDomain();
System.out.println(urlString);
System.out.println(host);
System.out.println(name);
}
}
http://74.125.226.70
এবং আমাকে তা কীভাবে কার্যকর হয় তা জানতে দিন :)