4D v12.4GET HTTP HEADER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v12.4
GET HTTP HEADER
|
GET HTTP HEADER ( cabeçalho|arrayCampo {; valorArray} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
cabeçalho|arrayCampo | Texto, Array texto |
![]() |
Petição HTTP cabeçalho ou campos HTTP cabeçalho | |||||
valorArray | Array texto |
![]() |
conteúdo dos campos cabeçalho HTTP | |||||
O comando GET HTTP HEADER retorna uma string ou dois arrays, que contém o cabeçalho HTTP utilizado na petição em processo.
Este comando pode ser chamado desde qualquer método (Método de banco On Web Aunthentication ou Método de banco de dados On Web Connection, método chamado por '/4DACTION'...) executado em um processo web.
Quando se utiliza esta sintaxe, o resultado devolvido na variável cabeçalho é o seguinte:
"GET /page.html HTTP\1.0"+Char(13)+Char(10)+"User-Agent: browser"+Char(13)+Char(10)+"Cookie: C=HELLO"
Quando utiliza esta sintaxe, os resultados devolvidos nos arrays arrayCamp e arrayValores são do seguinte tipo:
arrayCampo{1} = "X-METHOD" | valorArray{1} = "GET" * |
arrayCampo{2} = "X-URL" | valorArray{2} = "/page.html" * |
arrayCampo{3} = "X-VERSION" | valorArray{3} = "HTTP/1.0" * |
arrayCampo{4} = "User-Agent" | valorArray{4} = "browser" |
arrayCampo{5} = "Cookie" | valorArray{5} = "C=HELLO" |
Para estar de acordo com o padrão HTTP, os nomes dos campos sempre são escritos em inglês.
Esta é uma lista de alguns campos HTTP que podem ser utilizados em uma petição:
O seguinte método permite recuperar o conteúdo de todo campo de cabeçalho de petição HTTP:
` Método de projeto GetHTTPField
` GetHTTPField (Text) -> Text
` GetHTTPField (Nome cabeçalho HTTP) -> Conteúdo cabeçalho HTTP
C_TEXT($0;$1)
C_LONGINT($vlElem)
ARRAY TEXT($nomes;0)
ARRAY TEXT($valores;0)
$0:=""
GET HTTP HEADER($nomes;$valores)
$vlElem:=Find in array($nomes;$1)
If($vlElem>0)
$0:=$valores{$vlElem}
End if
` Conteúdo do cabeçalho Cookie
$cookie:=GetHTTPField("Cookie")
$idioma:=GetHTTPField("Accept-Language")
Case of
:($idioma="@fr@") `Francês (ver lista ISO 639)
SEND HTML FILE("index_fr.html")
:($idioma="@sp@") `Espanhol (ver lista ISO 639)
SEND HTML FILE("index_es.html")
Else
SEND HTML FILE("index.html")
End case
$host:=GetHTTPField("Host")
Case of
:($host="www.site1.com")
SEND HTML FILE("home_site1.com")
:($host="www.site2.com")
SEND HTML FILE("home_site2.com")
Else
SEND HTML FILE("home_site.com")
End case
Produto: 4D
Tema: Web Server
Número
697
Criado por: 4D v6.7