http(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
Gruppe |
Führt HTTP-Requests mit den HTTP-Methoden GET, POST, DELETE oder PUT aus und gibt als Rückgabewert den HTTP-Status zurück. Request-Header können gesetzt werden.
Die Response-Daten und -Header können in einer Map und einer Datei gespeichert werden.
Parameterbeschreibung
Parameter |
Beschreibung |
||
a |
URL ohne Query. |
||
b |
(optional) true für Ausführung via DMZ. Default: false |
||
c |
Query. |
||
d |
Daten (für PUT/POST). Hinweis: Enthält Parameter f den Wert multipart/form-data, dann wird d als Map-Name ausgewertet. Alle Einträge dieser Map (Schlüssel, Wert) werden zu Multipart-Anhängen umgewandelt. Erlaubte Methoden in g sind POST und PUT. Ist eine falsche Methode eingestellt, dann wird automatisch auf POST umgestellt. Beginnt der Schlüssel mit dem Präfix file:, dann ist folgende Syntax zu verwenden.
Der Wert zu solch einem Schlüssel ist entweder
oder der tatsächliche Inhalt der Datei, der dann immer als UTF-8 übergeben wird. Der Dateiname im Schlüssel-String ist optional, wenn der Wert auf eine Datei verweist - hier wird dann der echte Dateiname (ohne Pfad) verwendet. Beispiel: Schlüssel: file:testfile:phone.pdf:application/pdf Wert: file:./conf/data/Kommunikationliste.pdf Hinweis: Mit der System-Property -Dhub.datawizard.multipart.browserMode=true wird "browser compatible mode" erzwungen. Ist die Property nicht gesetz oder auf false, dann gilt "strict". |
||
e |
(optional) Zeichensatz. Default: Der System-Zeichensatz. |
||
f |
MIME-Type (für PUT/POST). Hinweis: Wird hier der Wert multipart/form-data angegeben, dann wird Parameter d als Map-Name ausgewertet (siehe dort). |
||
g |
Die zu verwendende HTTP-Methode. Erlaubte Werte: PUT, POST, PATCH, HEAD, DELETE, GET. |
||
h |
(optional) HTTP-Kanal-ID (nur bei Authentifizierung) oder leer. Als Benutzer wird der Wert des Feldes Eigene Kennung verwendet und als Passwort der Wert des Feldes Eigenes Kennwort. |
||
i |
(optional) Zertifikats-ID (falls benötigt) oder leer. |
||
j |
(optional) Timeout in Sekunden. Default: 90 |
||
k |
(optional) Anzahl an Versuchen. Default: 0 |
||
l |
(optional) Name einer Map, in die die Response-Header und Response-Daten gespeichert werden sollen → Siehe Abschnitt HTTP-Response-Header und Daten für Details. Es ist auch möglich Request-Header zu einem Aufruf hinzuzufügen → Siehe Abschnitt HTTP-Request-Header für Details. |
||
m |
(optional) true leert die Map l vor dem Befüllen. Default: false |
||
n |
(optional) Pfad und Name einer Datei, in die die Response-Daten gespeichert werden sollen → Siehe Abschnitt HTTP-Response-Header und Daten für Details. |
||
o |
(optional) Falls true, dann werden die Werte Base64-kodiert in die Map geschrieben. Falls false, dann wird das Encoding aus Parameter e verwendet. Default: false |
HTTP-Request-Header
Es ist auch möglich Request-Headerwerte zu einem Aufruf hinzuzufügen, indem die unter l angegebene Map vor dem Funktionsaufruf mit Wertepaaren belegt wird. Die Syntax ist hier folgende.
REQUEST_HTTP_HEADER_<Value> |
Hinweis: Bitte beachten Sie, dass Großschreibung und Kleinschreibung in <Value> für den Wert übernommen werden. Und das nicht nur in der Map, sondern auch im tatsächlichen HTTP-Request-Header.
Hinweis: Damit sich die Werte der Map aus Aufruf (Request-Header) und Ergebnis (Response-Header) nicht vermischen, kann der Parameter m auf true gestellt werden. Dadurch wird die Map l vor dem Hinzufügen der HTTP Response-Header gelöscht.
Beispiel:
Der HTTP-Request-Header Max-Forwards (begrenzt die Anzahl der möglichen Weiterleitungen durch Proxys oder Gateways) soll auf 10 gesetzt werden.
add to map(key a, value b, name of map c, [skip empty d])
a Wert: REQUEST_HTTP_HEADER_Max-Forwards
b Wert: 10
c Wert: map_Result
d Wert:
http(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
a Wert: http://example.com
b Wert:
c Wert:
d Wert:
e Wert:
f Wert:
g Wert: GET
h Wert:
i Wert:
j Wert:
k Wert:
l Wert: map_Result
m Wert: true
n Wert:
o Wert:
HTTP-Response-Header und Daten
Die Response des HTTP-Requests kann in eine Map l gespeichert werden. Die Map enthält dann die folgenden Schlüssel mit dazugehörigem Wert.
Schlüssel |
Wert |
RESPONSE_HTTP_STATUS |
Zurückgelieferter HTTP-Status. |
RESPONSE_HTTP_STATUSLINE |
Zurückgelieferte Statusnachricht. |
RESPONSE_HTTP_DATA |
Zurückgelieferte Daten. Wichtiger Hinweis: Soll der Wert für RESPONSE_HTTP_DATA nicht in eine Map, sondern in eine Datei gespeichert werden, da es sich evtl. um ein PDF-Dokument o. ä. handelt (binär), muss die Datei in Parameter n angegeben werden. |
RESPONSE_HTTP_HEADER_<...> |
Zurückgelieferte Headerfelder der HTTP-Antwort. Zum Beispiel RESPONSE_HTTP_HEADER_CONTENT-TYPE für HTTP-Response-Header Content-Type. |
Zudem können die zurück gelieferten Daten (nicht die Response-Header) in eine Datei n gespeichert werden. Folgend eine Übersicht aller Kombinationsmöglichkeiten.
Benutzte Parameter |
Gespeicherte Daten |
Nur Map l |
Die Map enthält die Response-Header und die zurück gelieferten Daten (als Wert des Schlüssels RESPONSE_HTTP_DATA). |
Nur Datei n |
Die Datei enthält nur die zurück gelieferten Daten (aber keine Response-Header). |
Map l und Datei n |
Die Map enthält nur die Response-Header (aber nicht den Schlüssel RESPONSE_HTTP_DATA). Die Datei enthält nur die zurück gelieferten Daten (aber keine Response-Header). |
Beispiele
Hinweis: Der komplette Request-String im ersten Beispiel ist http://maps.googleapis.com/maps/api/geocode/xml?address=82343+Hindenburgstra%C3%9Fe+15. Der Teil vor dem ? ist im Parameter a anzugeben. Der Teil hinter dem ? ist im Parameter c anzugeben.
Parameter a |
http://maps.googleapis.com/maps/api/geocode/xml |
http://www.lobster.de/img/150402_edm_data.jpg |
http://httpbin.org/post |
Parameter b |
|
|
|
Parameter c |
address=82343+Hindenburgstra%C3%9Fe+15 |
|
custname=Lobster&delivery=18:00 |
Parameter d |
|
|
|
Parameter e |
|
|
|
Parameter f |
|
|
application/x-www-form-urlencoded |
Parameter g |
GET |
GET |
POST |
Parameter h |
|
|
|
Parameter i |
|
|
|
Parameter j |
|
180 |
|
Parameter k |
|
|
2 |
Parameter l |
map_Result_1 |
map_Result_2 |
map_Result_3 |
Parameter m |
true |
true |
true |
Parameter n |
|
./temp/http/picture/logo.jpg |
|
Parameter o |
|
|
|
Ergebnis |
200 |
200 |
200 |
'RESPONSE_HTTP_HEADER_ACCEPT-RANGES'='none'
'RESPONSE_HTTP_HEADER_CONTENT-TYPE'='application/xml; charset=UTF-8'
'RESPONSE_HTTP_HEADER_TRANSFER-ENCODING'='chunked'
'RESPONSE_HTTP_HEADER_X-XSS-PROTECTION'='1; mode=block'
'RESPONSE_HTTP_HEADER_SERVER'='mafe'
'RESPONSE_HTTP_HEADER_ALTERNATE-PROTOCOL'='80:quic,p=0'
'RESPONSE_HTTP_HEADER_ACCESS-CONTROL-ALLOW-ORIGIN'='*'
'RESPONSE_HTTP_HEADER_VARY'='Accept-Language,Accept-Encoding'
'RESPONSE_HTTP_STATUS'='200'
'RESPONSE_HTTP_DATA'='<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
<status>OK</status>
<result>
<type>street_address</type>
<formatted_address>1600 Amphitheatre Parkway, Mountain View, CA 94043, USA</formatted_address>
<address_component>
<long_name>1600</long_name>
<short_name>1600</short_name>
<type>street_number</type>
</address_component>
.
.
.
<geometry>
<location>
<lat>37.4224553</lat>
<lng>-122.0843062</lng>
</location>
<location_type>ROOFTOP</location_type>
<viewport>
<southwest>
<lat>37.4211063</lat>
<lng>-122.0856552</lng>
</southwest>
<northeast>
<lat>37.4238043</lat>
<lng>-122.0829572</lng>
</northeast>
</viewport>
</geometry>
<place_id>ChIJ2eUgeAK6j4ARbn5u_wAGqWA</place_id>
</result>
</GeocodeResponse>
'
'RESPONSE_HTTP_HEADER_X-FRAME-OPTIONS'='SAMEORIGIN'
'RESPONSE_HTTP_STATUSLINE'='OK'
'RESPONSE_HTTP_HEADER_EXPIRES'='Thu, 28 May 2015 06:58:53 GMT'
'RESPONSE_HTTP_HEADER_DATE'='Wed, 27 May 2015 06:58:53 GMT'
'RESPONSE_HTTP_HEADER_CACHE-CONTROL'='public, max-age=86400'
'RESPONSE_HTTP_HEADER_CONTENT-TYPE'='image/jpeg'
'RESPONSE_HTTP_HEADER_ACCEPT-RANGES'='bytes'
'RESPONSE_HTTP_HEADER_VARY'='Accept-Encoding'
'RESPONSE_HTTP_HEADER_SERVER'='Apache'
'RESPONSE_HTTP_HEADER_LAST-MODIFIED'='Thu, 02 Apr 2015 08:04:18 GMT'
'RESPONSE_HTTP_STATUS'='200'
'RESPONSE_HTTP_HEADER_KEEP-ALIVE'='timeout=15, max=100'
'RESPONSE_HTTP_STATUSLINE'='OK'
'RESPONSE_HTTP_HEADER_ETAG'='"1b53-512b9474c8480"'
'RESPONSE_HTTP_HEADER_DATE'='Wed, 27 May 2015 07:38:18 GMT'
'RESPONSE_HTTP_HEADER_CONNECTION'='Keep-Alive'
'RESPONSE_HTTP_HEADER_CONTENT-LENGTH'='6995'
'RESPONSE_HTTP_HEADER_CONTENT-TYPE'='application/json'
'RESPONSE_HTTP_HEADER_ACCESS-CONTROL-ALLOW-CREDENTIALS'='true'
'RESPONSE_HTTP_HEADER_SERVER'='nginx'
'RESPONSE_HTTP_STATUS'='200'
'RESPONSE_HTTP_DATA'='{
"args": {
"custname": "Lobster",
"delivery": "18:00"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept-Encoding": "gzip,deflate",
"Cache-Control": "no-cache",
"Content-Length": "0",
"Content-Type": "application/x-www-form-urlencoded; charset=ISO-8859-1",
"Host": "httpbin.org",
"User-Agent": "Lobster_data"
},
"json": null,
"url": "http://httpbin.org/post?custname=Losbter&delivery=18:00"
}
'
'RESPONSE_HTTP_STATUSLINE'='OK'
'RESPONSE_HTTP_HEADER_ACCESS-CONTROL-ALLOW-ORIGIN'='*'
'RESPONSE_HTTP_HEADER_DATE'='Wed, 27 May 2015 07:50:30 GMT'
'RESPONSE_HTTP_HEADER_CONNECTION'='keep-alive'
'RESPONSE_HTTP_HEADER_CONTENT-LENGTH'='500'