donné ceci: Comment identifier le domaine de niveau supérieur de l'URL .. p> p>
4 Réponses :
Utilisez URL # gethost () code>
et si nécessaire par la suite un String # Split () code>
sur " \\. " p >
INETADDRESS # GETHOSTNAME () CODE>
de manière indépendante. P>
Chaîne [] hotokens = u.gethost (). Tostring (). Split ("."); Y a-t-il quelque chose de mal avec cette ligne .. Étant donné que, après cette déclaration, la longueur du tableau HTOKENS reste toujours 0.
Le lien mentionne qu'il faut un motif de regex. La réponse mentionne que vous devez scinder sur "\\." Code>.
La partie hôte de l'URL est conforme à la RFC 2732 selon la Docs . Cela impliquerait que simplement diviser la chaîne que vous obtenez de ne suffirait pas. Vous devrez vous assurer que vous êtes conforme au RFC 2732 lors de la recherche de l'hôte ou si vous pouvez vous garantir que toutes les adresses sont de la formulaire Server.com, vous pouvez rechercher le dernier. dans la corde et saisissez le TLD. P> p>
Vous voulez donc avoir le partie de domaine de niveau supérieur uniquement?
ukString TLD: uk deString TLD: de ceShiString TLD: æµè¯ dokimeString TLD: δοκιμή nullString TLD: null lolString TLD: null
Votre solution manque sur les domaines .co.uk par exemple
GUAVA STRAND> fournit une bonne utilité pour cela. Cela fonctionne comme suit: p>
InternetDomainName.from ("soinl.co.uk"). Publicsuffix () code> vous obtiendra
co.uk code>
InternetDomainName.from ("quelqueural.de"). Publicsuffix () code> vous obtiendra
de code> p>
Très similaire, à peu près un duplicata: Stackoverflow. com / questions / 1379958 / ...
... "Domaine de haut niveau"! = "Nom de domaine" (... "UK"! = "www.amazon.co.uk")