Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
WEB GET HTTP HEADER
|
WEB GET HTTP HEADER ( encab|arrayCamp {; arrayValores} ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
encab|arrayCamp | Texto, Array texto |
![]() |
Encabezado HTTP de la petición o Campos del encabezado HTTP | |||||
arrayValores | Array texto |
![]() |
Contenido de los campos del encabezado HTTP | |||||
El comando WEB GET HTTP HEADER devuelve, en una cadena o dos arrays, el encabezado HTTP de la petición en proceso.
Este comando puede llamarse desde cualquier método (Método de base On Web Authentication, QR SET DESTINATION, método llamado por "/4DACTION"...) ejecutado en un proceso web.
"GET /page.html HTTP\1.0"+Char(13)+Char(10)+"User-Agent: browser"+Char(13)+Char(10)+"Cookie: C=HELLO"
Cada campo de encabezado está separado por una secuencia CR+LF (Retorno de carro+Retorno de línea) bajo Windows y Mac OS.
Cuando utiliza esta sintaxis, los resultados devueltos en los arrays arrayCamp y arrayValores son del siguiente tipo:
fieldArray{1} = "X-METHOD" | valueArray{1} = "GET" * |
fieldArray{2} = "X-URL" | valueArray{2} = "/page.html" * |
fieldArray{3} = "X-VERSION" | valueArray{3} = "HTTP/1.0" * |
fieldArray{4} = "User-Agent" | valueArray{4} = "browser" |
fieldArray{5} = "Cookie" | valueArray{5} = "C=HELLO" |
* Estos tres primeros elementos no corresponden a los campos HTTP. Forman parte de la primera línea de la petición.
Conforme al estándar HTTP, los nombres de los campos siempre se escriben en inglés.
Esta es una lista de algunos campos HTTP que pueden utilizarse en una petición:
El siguiente método permite recuperar el contenido de todo campo de encabezado de petición HTTP:
` Método de proyecto GetHTTPField
` GetHTTPField (Text) -> Text
` GetHTTPField (Nombre encabezado HTTP) -> Contenido encabezado HTTP
C_TEXT($0;$1)
C_LONGINT($vlElem)
ARRAY TEXT($nombres;0)
ARRAY TEXT($valores;0)
$0:=""
WEB GET HTTP HEADER($nombres;$valores)
$vlElem:=Find in array($nombres;$1)
If($vlElem>0)
$0:=$valores{$vlElem}
End if
` Contenido del encabezado Cookie
$cookie:=GetHTTPField("Cookie")
$idioma:=GetHTTPField("Accept-Language")
Case of
:($idioma="@fr@") `Francés (ver lista ISO 639)
WEB SEND FILE("index_fr.html")
:($idioma="@sp@") `Español (ver lista ISO 639)
WEB SEND FILE("index_es.html")
Else
WEB SEND FILE("index.html")
End case
Nota: los navegadores web permiten definir varios idiomas por defecto. Están listados en el campo "Accept-Language", separados por un ";". Su propiedad está definida de acuerdo a su posición dentro de la cadena; por lo tanto es una buena idea probar la posición de los idiomas en la cadena.
$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
SEND HTML FILE("home_site.com")
End case
Producto: 4D
Tema: Servidor Web
Número
697
Creado por: 4D v6.7
Renombrar: 4D v13 (GET HTTP HEADER)
Manual de lenguaje 4D ( 4D v20 R7)