http(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)


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.

file:<Schlüssel-Name des Multiparts>:<Dateiname>:<Optionaler MIME-Type, Default ist application/octet-stream>

Der Wert zu solch einem Schlüssel ist entweder

file:<Pfad zur Datei>

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

map_Result_1
'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'

map_Result_2
'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'

map_Result_3
'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'