Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:http:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
api:documentation:http:start [2023/04/02 12:52] – [Durchschnittseinkommen in den USA nach Branche] Martin Pabstapi:documentation:http:start [2023/04/02 13:10] – [URL-Encoding] Martin Pabst
Zeile 15: Zeile 15:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 400px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'httptest1'}">+<div class="java-online" style="height: 400px; width: 100%;" data-java-online="{'withBottomPanel': false, 'id': 'httptest1'}">
 <script type="text/plain" title="Http-Test.java"> <script type="text/plain" title="Http-Test.java">
 HttpClient client = new HttpClient(); HttpClient client = new HttpClient();
 HttpRequest request = new HttpRequest(); HttpRequest request = new HttpRequest();
-request.uri("https://ostrich-api.datausa.io/api/data?measure=Average%20Wage,Average%20Wage%20Appx%20MOE,Record%20Count&drilldowns=Major Occupation%20Group&Workforce%20Status=true&Record%20Count>=5");+request.uri("https://ostrich-api.datausa.io/api/data?measure=Average%20Wage,Average%20Wage%20Appx%20MOE,Record%20Count&drilldowns=Major%20Occupation%20Group&Workforce%20Status=true&Record%20Count>=5");
  
 HttpResponse response = client.send(request); HttpResponse response = client.send(request);
 println(response.body()); println(response.body());
  
-println("Response-Status: " + response.status());+println("\nResponse-Status: " + response.statusCode(), Color.green); 
 +// Ausgabe der Response-Header: 
 +println("\nHeader:"); 
 +for (HttpHeader header : response.headers()) { 
 +   print(header.key + ": ", Color.lightblue); 
 +   println(header.value, Color.lightcoral); 
 +
 +</script> 
 + 
 +</div> 
 + 
 +</HTML> 
 + 
 +===== URL-Encoding ===== 
 +<WRAP center round info 80%> 
 +Gemäß [[https://www.rfc-editor.org/rfc/rfc3986#page-12|RFC3986]] darf man für die Parameter eines GET-Requests (d.h. alles nach dem '?') nur eine Teil der ASCII-Zeichen verwenden. Alle anderen Zeichen (Leerzeichen, Schrägstrich, Umlaute, ...) müssen in einer Schreibweise mit Prozentzeichen enkodiert werden. Statt 
 +<code> 
 +measure=Average Wage,Average Wage Appx MOE,Record Count&drilldowns=Major Occupation Group&Workforce Status=true&Record Count>=5 
 +</code> 
 +muss man also schreiben: 
 +<code> 
 +measure=Average%20Wage,Average%20Wage%20Appx%20MOE,Record%20Count&drilldowns=Major%20Occupation%20Group&Workforce%20Status=true&Record%20Count>=5 
 +</code> 
 +Damit wir diese Enkodierung nicht von Hand erledigen müssen, gibt es die Klasse ''URLEncoder'', deren Anwendung im folgenden Beispiel gezeigt wird. 
 +</WRAP> 
 + 
 +<HTML> 
 + 
 +<div class="java-online" style="height: 400px; width: 100%;" data-java-online="{'withBottomPanel': false, 'id': 'httptest1a'}"> 
 +<script type="text/plain" title="Http-Test.java"> 
 +HttpClient client = new HttpClient(); 
 +HttpRequest request = new HttpRequest(); 
 + 
 +String parameter = URLEncoder.encode("measure=Average Wage,Average Wage Appx MOE,Record Count&drilldowns=Major Occupation Group&Workforce Status=true&Record Count>=5"); 
 +request.uri("https://ostrich-api.datausa.io/api/data?" + parameter); 
 + 
 +HttpResponse response = client.send(request)
 +println(response.body()); 
 + 
 +println("\nResponse-Status: " + response.statusCode(), Color.green);
 // Ausgabe der Response-Header: // Ausgabe der Response-Header:
 println("\nHeader:"); println("\nHeader:");
api/documentation/http/start.txt · Zuletzt geändert: 2023/04/16 08:26 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki