Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
WEB GET HTTP HEADER
|
WEB GET HTTP HEADER ( Header/FeldArray {; WertArray} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
Header/FeldArray | Text, Array Text |
![]() |
Anfrage HTTP Kopfteil oder Kopfteilfelder | |||||
WertArray | Array Text |
![]() |
HTTP Kopfteil Feldinhalt | |||||
Der Befehl WEB GET HTTP HEADER gibt entweder einen String oder zwei Arrays mit dem HTTP Kopfteil für die aktuell ablaufende Anfrage zurück.
Dieser Befehl lässt sich von einer beliebigen Methode aus aufrufen (Datenbankmethode On Web Authentication oder QR SET DESTINATION aufgerufen über '/4DACTION'...), die in einem Web Prozess ausgeführt wird.
"GET /page.html HTTP\1.0"+Char(13)+Char(10)+"User-Agent: browser"+Char(13)+Char(10)+"Cookie: C=HELLO"
Die Felder sind unter Windows und Mac OS durch CR+LF (Zeilenschaltung+Zeilenvorschub) voneinander getrennt.
Mit dieser Syntax werden in FeldArray und WertArray folgende Ergebnisse zurückgegeben:
FeldArray{1} = "X-METHOD" | WertArray{1} = "GET" * |
FeldArray{2} = "X-URL" | WertArray{2} = "/page.html" * |
FeldArray{3} = "X-VERSION" | WertArray{3} = "HTTP/1.0" * |
FeldArray{4} = "User-Agent" | WertArray{4} = "browser" |
FeldArray{5} = "Cookie" | WertArray{5} = "C=HELLO" |
* Die drei ersten Elemente sind keine HTTP Felder. Sie gehören zur ersten Zeile der Anfrage.
In Anlehnung an den HTTP Standard werden Feldnamen immer in Englisch geschrieben.
Nachfolgend sehen Sie eine Liste mit HTTP Feldern für eine Anfrage:
Mit der folgenden Methode erhalten Sie den Inhalt eines beliebigen Feldes im Kopfteil einer HTTP Anfrage:
` Projektmethode GetHTTPField
` GetHTTPField (Text) -> Text
` GetHTTPField (HTTP header name) -> HTTP header content
C_TEXT($0;$1)
C_LONGINT($vlItem)
ARRAY TEXT($names;0)
ARRAY TEXT($values;0)
$0:=""
WEB GET HTTP HEADER($names;$values)
$vlItem:=Find in array($names;$1)
If($vlItem>0)
$0:=$values{$vlItem}
End if
` Cookie header content
$cookie:=GetHTTPField("Cookie")
$language:=GetHTTPField("Accept-Language")
Case of
:($language="@fr@") `Französisch (siehe Liste ISO 639)
WEB SEND FILE("index_fr.html")
:($language="@sp@") `Spanisch (siehe Liste ISO 639)
WEB SEND FILE("index_es.html")
Else
WEB SEND FILE("index.html")
End case
Hinweis: In Web Browsern lassen sich standardmäßig mehrere Sprachen definieren. Sie sind im Feld "Accept-Language" durch Strichpunkt getrennt aufgeführt. Die Priorität richtet sich nach der Stelle innerhalb des String; deshalb empfiehlt es sich, die Position der Sprache im String zu testen.
$host:=GetHTTPField("Host")
Case of
:($host="www.site1.com")
WEB SEND FILE("home_site1.com")
:($host="www.site2.com")
WEB SEND FILE("home_site2.com")
Else
WEB SEND FILE("home_site.com")
End case
Produkt: 4D
Thema: Web Server
Nummer:
697
Erstellt: 4D v6.7
Umbenannt: 4D v13 (GET HTTP HEADER)
4D Programmiersprache ( 4D v20 R7)