C# :: Aufgabe #158 :: Lösung #3
4 Lösungen

#158
Standort einer beliebigen Ip-Adresse
Anfänger - C#
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 ;)
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 ;)
#3

von Mexx (2370 Punkte)
- 08.01.2017 um 14:41 Uhr

using System; using System.IO; using System.Net; using System.Windows.Forms; namespace A158_IP_Locator { public partial class frmMain : Form { public frmMain() { InitializeComponent(); } /// <summary> /// Ermittelt den Standort des Server/Client mit der angegebenen IP-Adresse /// </summary> /// <param name="adress">Die IP-Adresse des Server/Client</param> private void CheckAdress(string adress) { //Eingabe prüfen IPAddress ip; if (!IPAddress.TryParse(adress, out ip)) { MessageBox.Show(this, "Sie müssen eine gültige IP-Adresse im Format xxx.xxx.xxx.xxx eingeben", "Ungültige Eingabe", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } string req = string.Format("http://freegeoip.net/csv/{0}", adress); Uri uri = new Uri(req); WebRequest request = WebRequest.Create(uri); WebResponse response = request.GetResponse(); StreamReader srResponseStream = new StreamReader(response.GetResponseStream()); string answer = srResponseStream.ReadToEnd(); string[] ipInfo = answer.Split(','); string result = string.Format("IP-Adresse:\t{0}\nLänderkürzel:\t{1}\nLand:\t\t{2}\nStadt:\t\t{5}\n\nGeo-Koordinaten\nLängengrad:\t{8}\nBreitengrad:\t{9}", ipInfo); rtbResult.Text = result; } private void btnCheck_Click(object sender, EventArgs e) { CheckAdress(tbAdress.Text.Trim()); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1