Java :: Aufgabe #151 :: Lösung #1

2 Lösungen Lösungen öffentlich
#151

Standort einer beliebigen Ip-Adresse

Anfänger - Java von ZRX88 - 30.12.2016 um 13:04 Uhr
In Python Aufgabe 101 ( https://trainyourprogrammer.de/python-101-ermitteln-der-ip-klasse.html)
war die Aufgabenstellung für die eingegebene IP die Klasse zu bestimmen.

Viel spannender ist ( aus meiner Sicht) der Standort des Servers:

Nutzt die API https://freegeoip.net/ um den Standort der eingebenen Ip-Adresse ausgeben wird.

Beispiel:
Eingabe = 66.249.66.1
Ausgabe = Die Ip 66.249.66.1 befindet sich in dem Land US in der Stadt Mountain View, die Geo Koordinaten sind 37.4192,-122.0574


p.s. Die Beispiel Ip ist die Ip des Google Bots ;)

#1
vote_ok
von derHG (480 Punkte) - 27.12.2017 um 19:41 Uhr
Quellcode ausblenden Java-Code
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;

public class JavaAufHtml {
	
	static String eingabe;

	public static void main(String[] args) throws Exception {
		
		JavaAufHtml http = new JavaAufHtml();
		
		System.out.print("Bitte IP eingeben: ");
		Scanner sc = new Scanner(System.in);
		eingabe = sc.next();
		sc.close();
		
		http.sendGet();
	}
	
	private void sendGet() throws Exception {
		
		String url ="http://www.freegeoip.net/csv/"+eingabe;
		
		URL obj = new URL(url);
		HttpURLConnection con = (HttpURLConnection)obj.openConnection();
		
		BufferedReader in = new BufferedReader(
		        new InputStreamReader(con.getInputStream()));
		String inputLine;
		StringBuffer response = new StringBuffer();

		while ((inputLine = in.readLine()) != null) {
			response.append(inputLine);
		}
		in.close();
		
		String buf = response.toString();
		
		String[] teile = buf.split("\\,");
		String IP    = teile[0];
		String laK   = teile[1];
		String laL   = teile[2];
		String stK   = teile[3];		
		String stL   = teile[4];		
		String std   = teile[5];
		String post  = teile[6];
		String utc   = teile[7];		
		String lat   = teile[8];		
		String lon   = teile[9];		
		String metr  = teile[10];
		
		

		//print result
		System.out.println("Die IP "+IP+" befindet sich in dem Land "+laK+" in der Stadt "+"\n"
							+std+", die Geo Koordinaten sind "+lat+", "+lon);
	}

}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2304063

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.