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...
api/documentation/http/start.1680427877.txt.gz · Zuletzt geändert: 2023/04/02 11:31 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki