Inhaltsverzeichnis
Webservices mit einem HTTP-Client nutzen
HTTP lässt sich nicht nur nutzen, um Webseiten mit einem Browser abzurufen, sondern wird oft auch für die Kommunikation anderer Programme untereinander verwendet. Dabei nimmt jeweils ein Programm die Rolle des Servers ein, der Daten oder Dienste bereitstellt ("Webservice"), ein anderes die Rolle des Clients.
Im folgenden implementieren wir einen einfachen HTTP-Client, der Daten von offen zugänglichen Webservices abfragen und auswerten kann.
Einfacher HTTP-Client
Die Online-IDE besitzt eine einfach HTTPClient-Klasse, mithilfe derer man per HTTP kommunizieren kann. Da die Online-IDE im Browser läuft (hier auf der Seite https://learnj.de), verweigern viele Webserver den Kontakt, da sie ansonsten missbräuchlich genutzt werden könnten (CORS-Policy). Um das Prinzip zu demonstrieren, holen wir im folgenden Beispiel daher einfach die Webseite https://www.learnj.de.
Wetterdaten vom DWD (Deutscher Wetterdienst)
Der Deutsche Wetterdienst stellt unter der URL https://api.open-meteo.com
einen Webservice zur Verfügung, über den man Wettervorhersagen zu beliebigen Orten in Deutschland abrufen kann. Klicken Sie zunächst auf den Link https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m um die aktuellen Wetterdaten für Manching mit dem Browser abzurufen.
- a) Die Daten sind im JSON-Format encodiert. Recherchieren Sie, wie in diesem Format Objekte und Listen dargestellt werden.
- b) Auf open-meteo.com ist der Zugang zur DWD Icon API beschrieben. Recherchieren Sie, wie die JSON-Daten zu interpretieren sind.
- c) Ändern Sie den Link so ab, dass die Wetterdaten Ihres Wohnortes angezeigt werden.
- d) Für Leistungsstarke: Analysieren Sie das Programm unten, das die Wetterdaten von Manching abruft und die im JSON-Format kodierten Daten mit Hilfe einer vorgegebenen Klasse (
JsonParser
) dekodiert. Suchen Sie andere frei zugängliche Webservices im Internet und schreiben Sie ein entsprechendes Programm zum Abruf der Daten.
Auf dieser Seite finden Sie die Beschreibung der JsonParser-Klasse und auf dieser Seite Links zu weiteren freien Webservices.