api:documentation:http:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
api:documentation:http:start [2023/04/02 10:01] – Martin Pabst | api:documentation:http:start [2023/04/02 13:10] – [URL-Encoding] Martin Pabst | ||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
+ | ===== Durchschnittseinkommen in den USA nach Branche ===== | ||
+ | Viele Daten über die USA erhält man auf der Seite [[https:// | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | <script type=" | ||
+ | HttpClient client = new HttpClient(); | ||
+ | HttpRequest request = new HttpRequest(); | ||
+ | request.uri(" | ||
+ | |||
+ | HttpResponse response = client.send(request); | ||
+ | println(response.body()); | ||
+ | |||
+ | println(" | ||
+ | // Ausgabe der Response-Header: | ||
+ | println(" | ||
+ | for (HttpHeader header : response.headers()) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== URL-Encoding ===== | ||
+ | <WRAP center round info 80%> | ||
+ | Gemäß [[https:// | ||
+ | < | ||
+ | measure=Average Wage, | ||
+ | </ | ||
+ | muss man also schreiben: | ||
+ | < | ||
+ | measure=Average%20Wage, | ||
+ | </ | ||
+ | Damit wir diese Enkodierung nicht von Hand erledigen müssen, gibt es die Klasse '' | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | <script type=" | ||
+ | HttpClient client = new HttpClient(); | ||
+ | HttpRequest request = new HttpRequest(); | ||
+ | |||
+ | String parameter = URLEncoder.encode(" | ||
+ | request.uri(" | ||
+ | |||
+ | HttpResponse response = client.send(request); | ||
+ | println(response.body()); | ||
+ | |||
+ | println(" | ||
+ | // Ausgabe der Response-Header: | ||
+ | println(" | ||
+ | for (HttpHeader header : response.headers()) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Aufbereiten der Json-Daten (JsonParser) ===== | ||
+ | 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: | ||
+ | <code javascript> | ||
+ | {" | ||
+ | [ | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | usw... | ||
+ | </ | ||
+ | Die führende öffnende geschweifte Klammer (' | ||
+ | Wir wollen uns von all diesen Objekten nur die Werte der Attribute '" | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | <script type=" | ||
+ | HttpClient client = new HttpClient(); | ||
+ | HttpRequest request = new HttpRequest(); | ||
+ | request.uri(" | ||
+ | |||
+ | HttpResponse response = client.send(request); | ||
+ | |||
+ | JsonElement rootElement = JsonParser.parse(response.body()); | ||
+ | JsonElement data = rootElement.getAttributeValue(" | ||
+ | |||
+ | for (JsonElement row : data.getArrayValues()) { | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ |
api/documentation/http/start.txt · Zuletzt geändert: 2023/04/16 08:26 von Martin Pabst