4D v14.3

HTTP Get

Página Inicial

 
4D v14.3
HTTP Get

HTTP Get 


 

HTTP Get ( url ; resposta {; nomesCab ; valoresCab}{; *} ) -> Resultado 
Parâmetro Tipo   Descrição
url  Texto in URL ao qual enviar o pedido
resposta  Texto, BLOB, Imagem, Object in Resposta da solicitação
nomesCab  Array texto in Nomes dos cabeçalhos da solicitação
in Nomes dos cabeçalhos devolvidos
valoresCab  Array texto in Valores dos cabeçalhos da solicitação
in Valores dos cabeçalhos devolvidos
Operador in Se passado, a conexão se mantém (keep-alive)
Se omitida,a conexão é fechada automaticamente
Resultado  Inteiro longo in 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:

  • Texto: quando o resultado se espera em forma de texto codificado em UTF16
  • BLOB: quando o resultado se espera em forma binária.
  • Imagem: quando o resultado se espera em forma de imagem.
  • Objeto: quando o resultado se espera em forma de objeto C_OBJECT.

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)

 
PROPRIEDADES 

Produto: 4D
Tema: Cliente HTTP
Número 1157

Este comando modifica a variável sistema Error

 
HISTÓRIA 

New
Criado por: 4D v13
Modificado: 4D v14

 
VER TAMBÉM 

HTTP Request

 
ARTICLE USAGE

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)