Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:http:start

Dies ist eine alte Version des Dokuments!


Http-Requests

Mithilfe der Klassen HttpClient, HttpRequest und HttpResponse können von der Online-IDE aus http(s)-Anfragen gesendet werden. Es sind sowohl GET- als auch POST-Requests möglich. Die Benutzung der Klassen wird durch die Beispiele unten erklärt.

Beschränkung durch die Same-Origin-Policy der Server

Da die Online-IDE im Browser läuft, werden die http(s)-Requests aus der Webseite heraus per Javascript Fetch-API generiert. Origin der Anfragen ist daher https://www.learnj.de bzw. https://www.online-ide.de. Viele Server gestatten leider keine Requests von einem Origin, der nicht ihrer eigenen Domain entspricht (SOP = "same origin policy"). Von der Online-IDE aus können daher nur Daten von Servern abgerufen werden, die einen offenen CORS-Header gesetzt haben (Access-Control-Allow-Origin: *).

Beispiel 1: Durchschnittseinkommen in den USA nach Branche

Viele Daten über die USA erhält man auf der Seite https://datausa.io. Das öffentliche API ist hier beschrieben. Wir holen uns Daten über das jährliche Durchschnittseinkommen in Abhängigkeit von der Branche:

Die Ausgabe liegt im Json-Format vor. Zum Aufbereiten nutzen wir die JsonParser-Klasse der Online-IDE. Sie konvertiert die Json-Zeichenkette in einen Objektbaum. Wir betrachten zunächst den Beginn der Zeichenkette:

{"data":
   [
      {
       "ID Major Occupation Group":"110000-290000",
       "Major Occupation Group":"Management, business, science, & arts occupations",
       "ID Year":2020,
       "Year":"2020",
       "ID Workforce Status":true,
       "Workforce Status":"true",
       "Average Wage":81574.98386970875,
       "Average Wage Appx MOE":268.2938957859685,
       "Record Count":2816397,
       "Slug Major Occupation Group":"management-business-science-arts-occupations"
      },
      {
       "ID Major Occupation Group":"310000-390000",
       "Major Occupation Group":"Service Occupations",
       "ID Year":2020, 
       "Year":"2020",
usw...

Die führende öffnende geschweifte Klammer ('{') zeigt uns, dass das root-Element der Json-Daten ein Objekt ist. Es enthält nur ein einziges Attribut mit dem Bezeichner 'data', das wiederum ein Array ist (das zeigt die eckige Klammer). Im Array enthalten sind lauter gleichartige Objekte mit den Attributen '"ID Major Occupation Group"', '"ID Year"' usw.

Wir wollen uns von all diesen Objekten nur die Werte der Attribute '"Major Occupation Group"' und '"Average Wage"' holen und ausgeben:

api/documentation/http/start.1680428404.txt.gz · Zuletzt geändert: 2023/04/02 11:40 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki