4D v14.3HTTP Get |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
HTTP Get
|
HTTP Get ( url ; resposta {; nomesCab ; valoresCab}{; *} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
url | Texto |
![]() |
URL ao qual enviar o pedido | |||||
resposta | Texto, BLOB, Imagem, Object |
![]() |
Resposta da solicitação | |||||
nomesCab | Array texto |
![]() |
Nomes dos cabeçalhos da solicitação | |||||
![]() |
Nomes dos cabeçalhos devolvidos | |||||||
valoresCab | Array texto |
![]() |
Valores dos cabeçalhos da solicitação | |||||
![]() |
Valores dos cabeçalhos devolvidos | |||||||
* | Operador |
![]() |
Se passado, a conexão se mantém (keep-alive) Se omitida,a conexão é fechada automaticamente |
|||||
Resultado | Inteiro longo |
![]() |
Código de estado HTTP | |||||
O comando HTTP Get envia diretamente um pedido HTTP GET a um URL específico e processa a resposta do servidor HTTP.
Passe no parâmetro url o URL ao qual enviar a solicitação. A sintaxes a utilizar é:
http://[{user}:[{password}]@]host[:{port}][/{path}][?{queryString}]
Por exemplo, pode passar as seguintes cadeias:
http://www.myserver.com
http://www.myserver.com/path
http://www.myserver.com/path?name="jones"
https://www.myserver.com/login (*)
http://123.45.67.89:8083
http://john:smith@123.45.67.89:8083
(*) Durante as solicitações HTTPS, a autoridade do certificado não é verificada.
Depois da execução do comando, o parâmetro resposta recupera o resultado do pedido devolvido pelo servidor. Este resultado corresponde ao corpo (body) da resposta, sem os cabeçalhos (headers).
Pode passar variáveis de diferentes tipos em resposta:
Se passado um BLOB, conterá o texto, a imagem ou todo tipo de conteúdo (.wav, .zip, etc.) devolvido pelo servidor. A continuação, deve gerenciar a recuperação destes conteúdos (os cabeçalhos não estão incluídos no BLOB). Se o tipo de dados devolvidos pelo servidor não corresponde ao tipo da variável, é devolvido vazio. Se passar um objeto de tipo C_OBJECT, se a petição devolve um resultado com o conteúdo tipo "aplicação/json" (ou "algo/json"), 4D tenta analisar o conteúdo JSON para gerar o objeto.
Em nomesCab e valoresCab passe os arrays que contém os nomes e os valores dos cabeçalhos da solicitação.
Depois da execução do método, estes arrays contém os nomes e os valores dos cabeçalhos devolvidos pelo servidor HTTP. Especificamente, este principio lhe permite administrar seus cookies.
O parâmetro * permite ativar o mecanismo keep-alive para a conexão ao servidor. Por defeito, este parâmetro se omite, keep-alive não está ativo.
O comando devolve o código do estado HTTP padrão (200=OK...) tal qual foi devolvido pelo servidor. A lista de códigos de estado HTTP está no RFC 2616.
Caso a conexão ao servidor não seja possível por uma razão relacionada com a rede (DNS Failed, Server not reachable...), o comando devolve 0 e é gerado um erro. Se o comando utiliza um certificado servidor e este certificado não é válido (vencido ou revogado), o comando devolve 0 e se devolve o erro 901 "Server certificate invalid".Você pode interceptar utilizando um método instalado pelo comando ON ERR CALL.
Recuperação do logo 4D no sitio web de 4D:
C_TEXT(URLPic_t)
URLPic_t:="http://www.4d.com/sites/all/themes/dimention/images/home/logo4D.jpg"
ARRAY TEXT(HeaderNames_at;0)
ARRAY TEXT(HeaderValues_at;0)
C_PICTURE(Pic_i)
$httpResponse:=HTTP Get(URLPic_t;Pic_i;HeaderNames_at;HeaderValues_at)
Recuperação de um RFC:
C_TEXT(URLText_t)
C_TEXT(Text_t)
URLText_t:="http://tools.ietf.org/rfc/rfc1.txt"
ARRAY TEXT(HeaderNames_at;0)
ARRAY TEXT(HeaderValues_at;0)
$httpResponse:=HTTP Get(URLText_t;Text_t;HeaderNames_at;HeaderValues_at)
Recuperação de um vídeo:
C_BLOB(vBlob)
$httpResponse:=HTTP Get("http://www.example.com/video.flv";vBlob)
BLOB TO DOCUMENT("video.flv";vBlob)
Produto: 4D
Tema: Cliente HTTP
Número
1157
Criado por: 4D v13
Modificado: 4D v14
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)
Inherited from : HTTP Get ( 4D v13.5)