Land von IP-Adresse abrufen (Java)

■ Referenz http://cc.wariate.jp


package hello.java.net;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class InetAddressLookUpMain {

 // see http://cc.wariate.jp/
 static String baseHost = "cc.wariate.jp";

 static String[] locales = "JP,US,KR,CH,HK".split(",");

 public static String getCountry(String s) throws UnknownHostException {

 InetAddress inetAddr = InetAddress.getByName(s); // throws
 // UnknownHostException

 byte[] byteAddr = inetAddr.getAddress();

 StringBuffer sb = new StringBuffer();

 for (int i = (byteAddr.length - 1); i >= 0; i--) {
 int unsignedByte = byteAddr[i] < 0 ? byteAddr[i] + 256
 : byteAddr[i];
 sb.append(unsignedByte + ".");
 }

 for (int n = 0; n < locales.length; n++) {

 String country = locales[n];

 String lookupHost = sb.toString() + country.toLowerCase() + "."
 + baseHost;

 try {
 InetAddress.getByName(lookupHost);
 return (locales[n]);
 } catch (UnknownHostException e) {
 // e.printStackTrace();
 }

 }

 return null;
 }

 public static void main(String[] args) throws Exception {
 System.out.println(getCountry("www.yahoo.co.jp"));
 System.out.println(getCountry("www.ibm.com"));
 System.out.println(getCountry("daum.net"));
 System.out.println(getCountry("weibo.com"));
 System.out.println(getCountry("aho"));
 }
}

Ergebnis

JP
US
KR
HK
Exception in thread "main" java.net.UnknownHostException: aho: aho
 at java.net.InetAddress.getAllByName0(InetAddress.java:1270)
 at java.net.InetAddress.getAllByName(InetAddress.java:1197)
 at java.net.InetAddress.getAllByName(InetAddress.java:1119)
 at java.net.InetAddress.getByName(InetAddress.java:1069)
 at hello.java.net.InetAddressLookUpMain.getLocale(InetAddressLookUpMain.java:14)
 at hello.java.net.InetAddressLookUpMain.main(InetAddressLookUpMain.java:55)

Recommended Posts

Land von IP-Adresse abrufen (Java)
Suchen Sie die Adressklasse und den Adresstyp aus der IP-Adresse mit Java
Holen Sie sich "2-4, 7, 9" aus [4, 7, 9, 2, 3]
Abrufen von Anruferinformationen aus dem Stack-Trace (Java)
[Java] Tag-Informationen aus Musikdateien abrufen
Abrufen des Verlaufs vom Zabbix-Server in Java
Finden Sie die Adressklasse und den Adresstyp aus der IP-Adresse mit Java [Abkochung Nr. 2]
Ich möchte die IP-Adresse erhalten, wenn ich mit Java eine Verbindung zu Wi-Fi herstelle
IP-Adresse übersetzen
So erhalten Sie eine Klasse von Element in Java
Holen Sie sich Unixtime (Sekunden) von ZonedDateTime in Scala / Java
[Java] Ruft mehrere Werte von einem Rückgabewert ab
[Java] Ruft Werte zufällig aus einem Array ab
[Java] KFunction von Method / Constructor in Java abrufen [Kotlin]
Rufen Sie Java von JRuby aus auf
CentOS IP-Adresse einrichten
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
[Java] Verschiedene Daten abrufen
Eval Java-Quelle von Java
Greifen Sie über Java auf API.AI zu
[Java] Initialisierung, Hinzufügung, Erfassung
Von Java zu Ruby !!
[Kotlin] So erhalten Sie die IP-Adresse und den Benutzeragenten
Holen Sie sich Wettervorhersagen von Watson Weather Company Data mit einfachem Java
Kommen Sie zu den Abkürzungen aus den fünf Beispielen für kursive Java-Listen
[Java] Zeichensatz mit Apathce Tika abrufen / String von Zeichensatz initialisieren [Kotlin]
[Kotlin] Holen Sie sich Java Constructor / Method von KFunction und rufen Sie es auf
Holen Sie sich ganz einfach Ganzzahlen aus den Systemeigenschaften in Java
Ruft Attribute und Werte aus einer XML-Datei in Java ab
CData Software Hands-on (Twitter-Daten von der Java-Konsolenanwendung abrufen)
Holen Sie sich mit Java eine nicht leere Sammlung aus einem optionalen Stream
Migration von Cobol nach JAVA
Holen Sie sich EXIF-Informationen in Java
Java ab Anfänger überschreiben
Elastic Search Indexerstellung aus Java
Neue Funktionen von Java7 bis Java8
Stellen Sie eine Verbindung von Java zu PostgreSQL her
[Java] KClass in Java herunterladen [Kotlin]
Java, Instanz für Anfänger
Java ab Anfänger, Vererbung
Java-Leben von vorne anfangen
Verwenden von Docker von Java Gradle
Von ineffektivem Java zu effektivem Java
JavaScript von Java aus gesehen
Führen Sie Nicht-Java-Anweisungen von Java aus
[Java] Abrufen von Daten aus der Datenbank mithilfe des Singleton-Dienstes in Spring (Boot)
[Java] So konvertieren Sie vom Typ String in den Pfadtyp und erhalten den Pfad