4D v13.4HTTP Get |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v13.4
HTTP Get
|
HTTP Get ( url ; respuesta {; nomEncab ; valoresEncab}{; *} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
url | Texto |
![]() |
URL al cual enviar la petición | |||||
respuesta | Texto, BLOB, Imagen |
![]() |
Resultado de la petición | |||||
nomEncab | Array texto |
![]() |
Nombres de los encabezados de la petición | |||||
![]() |
Nombres de encabezados devueltos | |||||||
valoresEncab | Array texto |
![]() |
Valores de los encabezados de la petición | |||||
![]() |
Valores de los encabezados devueltos | |||||||
* | Operador |
![]() |
Si se pasa, la conexión se mantiene(keep-alive) Si se omite, la conexión se cierra automáticamente |
|||||
Resultado | Entero largo |
![]() |
Código de estado HTTP | |||||
El comando HTTP Get envía directamente una petición HTTP GET a un URL específico y procesa la respuesta del servidor HTTP.
Pase en el parámetro url el URL al cual enviar la petición. La sintaxis a utilizar es:
http://[{user}:[{password}]@]host[:{port}][/{path}][?{queryString}]
Por ejemplo, puede pasar las siguientes cadenas:
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 las peticiones HTTPS, la autoridad del certificado no se verifica.
Después de la ejecución del comando, el parámetro respuesta recupera el resultado de la petición devuelto por el servidor. Este resultado corresponde al cuerpo (body) de la respuesta, sin los encabezados (headers).
Puede pasar variables de diferentes tipos en respuesta:
Si pasa un BLOB, contendrá el texto, la imagen o todo tipo de contenido (.wav, .zip, etc.) devuelto por el servidor. A continuación, debe gestionar la recuperación de estos contenidos (los encabezados no están incluidos en el BLOB). Si el tipo de datos devuelto por el servidor no corresponde al tipo de la variable, se devuelve vacío.
En nomEncab y valoresEncab pase los arrays que contienen los nombres y los valores de los encabezados de la petición.
Después de la ejecución del método, estos arrays contienen los nombres y los valores de los encabezados devueltos por el servidor HTTP. Más específicamente, este principio le permite administrar sus cookies.
El parámetro * permite activar el mecanismo keep-alive para la conexión al servidor. Por defecto, este parámetro se omite, keep-alive no está activo.
El comando devuelve el código del estado HTTP estándar (200=OK...) tal como fue devuelto por el servidor. La lista de códigos de estado HTTP está en el RFC 2616.
Si la conexión al servidor no es posible por una razón relacionada con la red (DNS Failed, Server not reachable...), el comando devuelve 0 y se genera un error. Puede interceptarlo utilizando un método instalado por el comando ON ERR CALL.
Recuperación del logo 4D en el 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)
Recuperación de un 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)
Recuperación de un vídeo:
C_BLOB(vBlob)
$httpResponse:=HTTP Get("http://www.example.com/video.flv";vBlob)
BLOB TO DOCUMENT("video.flv";vBlob)
Producto: 4D
Tema: Cliente HTTP
Número
1157
Lista alfabética de los comandos
Creado por: 4D v13