AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Comunicación / Funciones HTTP
  • Error de seguridad en una transacción de secure
  • Recuperación
  • Acceso a una URL protegida por contraseña
  • Uso de un proxy
  • Cabeceras de autenticación
  • Funcionalidad de aplicación requerida
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Envía un formulario HTTP. Este formulario fue creado por HTTPCreateForm.
HTTPCreateForm("FORM")
HTTPAddParameter("FORM", "Price", "3400")
...
HTTPSendForm("FORM", "www.mysite.com")
// Example for sending a file
lIdForm = "TEST"
HTTPCreateForm(lIdForm)
HTTPAddFile(lIdForm, "file", "C:\temp\Certificate.pdf")
IF NOT HTTPSendForm(lIdForm, "http://test.myserver.net", httpPost, "AGENT") THEN
...
END
Sintaxis

Sintaxis completa Ocultar los detalles

<Result> = HTTPSendForm(<Form name> , <URL to contact> [, <HTTP Method> [, <User agent> [, <Additional HTTP header> [, <Type of form> [, <Username> [, <Password>]]]]]])
<Result>: booleano
  • True si se envió el formulario HTTP,
  • False si se produce un error. Para obtener más información sobre el error, utilice la función ErrorInfo con la constante errMessage.
<Form name>: Cadena de caracteres
Nombre del formulario HTTP a enviar.
<URL to contact>: Cadena de caracteres
Dirección del servidor de Contact (URL Address).
Este parámetro puede contener el número de puerto para conectarse al servidor. El valor de Default es 80 (corresponde a un servidor de páginas web). Para especificar un número de puerto, utilice el siguiente formato: "<URL del servidor>:<N° del puerto>".
Por ejemplo: http://www.pcsoft.fr:80.
Observación: Para realizar una transacción segura, la URL debe comenzar por "https://".
<HTTP Method>: Constante opcional de tipo Integer
Método HTTP utilizado:
httpCopyMétodo copy
httpDeleteMétodo DELETE
httpGetMétodo GET
httpHeadMétodo HEAD
httpPatchMétodo PATCH
httpPost
(Valor predeterminado)
Método POST
httpPutMétodo PUT
Universal Windows 10 App No disponible.
<User agent>: Cadena de caracteres opcional
Identifica al cliente. Por defecto, se devuelve el valor "PC SOFT Framework".
El contenido de la respuesta puede depender del agente de usuario. En este caso, para más detalles, consulte la documentación del agente de usuario.
<Additional HTTP header>: Cadena de caracteres opcional
  • Cabecera HTTP adicional que se añadirá al mensaje HTTP. Atención: esta cadena debe terminar con un carácter CR (Carriage Return).
  • Cadena vacía ("") si se debe agregar ninguna solicitud HTTP.
<Type of form>: Cadena de caracteres opcional o constante opcional
Tipo de formulario que se enviará al servidor. Este parámetro corresponde a "Content-Type".
Por Default, el tipo de mensaje corresponde a: "application/x-www-form-urlencoded". Este parámetro puede corresponder a una de las siguientes constantes:
typeMimeMultiPartFormLa clase de mensaje corresponde a: "multipart/form-data" (utilizado principalmente para transferir archivos).
typeMimeSimpleForm
(Valor predeterminado)
La clase de mensaje corresponde a: "application/x-www-form-urlencoded".
<Username>: Cadena de caracteres opcional
Nombre utilizado para acceder a una página con una URL protegida (cadena vacía de Default). Este nombre se utiliza para identificar al usuario.
<Password>: Cadena de caracteres opcional
Contraseña associated con el nombre de usuario (cadena vacía por Default). Se utiliza para acceder a una página con una URL protegida. Atención: La contraseña no se encripta cuando se envía a través de INTERNET.
WINDEVWEBDEV - Código ServidorAndroidWidget Android iPhone/iPadIOS WidgetAjax

Sintaxis con el tipo httpRequest Ocultar los detalles

<Result> = HTTPSendForm(<Form name> , <HTTP request>)
<Result>: httpResponse Variable
Nombre de la httpResponse Variable que contiene la respuesta de la solicitud.
<Form name>: Cadena de caracteres
Nombre del formulario HTTP a enviar.
<HTTP request>: Variable de tipo httpRequest
Nombre de httpRequest Variable que contiene los parámetros necesarios para enviar el formulario.
WINDEVAndroidWidget Android iPhone/iPadIOS Widget

Sintaxis asíncrona que utiliza el tipo httpRequest Ocultar los detalles

HTTPSendForm(<Form name> , <HTTP request> , <WLanguage procedure>)
<Form name>: Cadena de caracteres
Nombre del formulario HTTP a enviar.
<HTTP request>: Variable de tipo httpRequest
Nombre de httpRequest Variable que contiene los parámetros necesarios para enviar el formulario.
<WLanguage procedure>: Nombre de Procedure
Nombre del lenguaje WL llamado Procedure durante la respuesta del servidor HTTP. Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Response> is httpResponse)
donde <Respuesta> es una variable de tipo httpResponse que contiene la respuesta recibida del servidor HTTP.
Observaciones

Error de seguridad en una transacción de secure

Durante una transacción de secure, el envío del formulario puede fallar debido a errores de seguridad:
  • Certificate o Certificate inválidos que vienen de una compañía desconocida.
  • el nombre del sitio especificado en la Certificate no corresponde a un servidor.
  • fecha inválida o caducada de Certificate.
  • redirección a un servidor no secure.
Estos errores son devueltos por ErrorInfo.
Si se produce uno de estos errores, puede volver a ejecutar la orden ignorando los errores..
Se pueden utilizar dos métodos según la sintaxis:
  • Sintaxis 1: usando el HTTP.IgnorarError Variable (ver el párrafo siguiente).
  • WINDEVWEBDEV - Código ServidoriPhone/iPadAjax Sintaxis 2: utilizando el IgnoreError Property del httpRequest Variable.
Si se usa la sintaxis completa (sintaxis 1), todo lo que tienes que hacer es usar el HTTP.IgnorarError Variable:
Error devuelto por ErrorInfo
(con la constante errCode)
Valor de HTTP.IgnoreError
(estos valores se pueden combinar)
description
httpErrorInvalidCertificate
Certificate o Certificate inválidos que vienen de una compañía desconocida
httpIgnoreInvalidCertificateEl Certificate es ignorado.
httpErrorInvalidCertificateName
El nombre del sitio especificado en la Certificate no corresponde a un servidor
httpIgnoreInvalidCertificateNameEl nombre del sitio especificado en la Certificate es ignorado.
httpErrorExpiredCertificate
Inválido o caducado Certificate fecha
httpIgnoreExpiredCertificateLa fecha de Certificate es ignorada
httpErrorRedirectToHTTP
Redirección a un servidor no secure
httpIgnoreRedirectToHTTPSe permite la redirección a un servidor no secure.
httpIgnoreRedirectToHTTPS
Redirección a un servidor secure
httpIgnoreRedirectToHTTPSSe permite la redirección a un servidor secure.
Por ejemplo:
// Send a form on a secure server
ResStart = HTTPSendForm("FORM", "https://www.MyServer.com")
// If an error occurs
IF ResStart = False THEN
// According to the type of error
SWITCH ErrorInfo(errCode)
  // Invalid certificate or coming from an unknown company
  CASE httpErrorInvalidCertificate:
// Ignore the certificate?
IF YesNo("Caution, a security alert was detected!", ...
 "The certificate is invalid.", ...
"Do you want to ignore this certificate?") = Yes THEN
HTTP.IgnoreError = httpIgnoreInvalidCertificate
// Send the form again while ignoring this error
HTTPSendForm("FORM", "https://www.MyServer.com")
END
// Invalid or expired certificate date
CASE httpErrorExpiredCertificate:
// Ignore the certificate date?
IF YesNo("Caution, a security alert was detected!", ...
"The certificate date is invalid or expired.", ...
"Do you want to ignore this date?") = Yes THEN
HTTP.IgnoreError = httpIgnoreExpiredCertificate
// Send the form again while ignoring this error
HTTPSendForm("FORM", "https://www.MyServer.com")
END
END
END
AndroidWidget Android Los errores relativos a la seguridad de las transacciones no son devueltos por ErrorInfo (la conexión es rechazada). Estos errores no pueden ser ignorados. El HTTP.IgnorarError Variable no está disponible.

Recuperación

HTTPGetResult recupera el resultado del último formulario HTTP enviado.

Acceso a una URL protegida por contraseña

Para acceder a una URL protegida por contraseña, puede hacerlo:
  • utilizar los parámetros <nombre de usuario> y <contraseña> en HTTPSendForm.
  • especificar el nombre de usuario y la contraseña directamente en el parámetro <URL a contactar>.
    Por ejemplo:
    <Result> = HTTPSendForm("http://<user>:<password>@<URL to contact>")

Uso de un proxy

Para acceder a la URL especificada en la función HTTPSendForm mediante un proxy, utilice la función Proxy.

Cabeceras de autenticación

Las cabeceras de autenticación se generan automáticamente en los siguientes casos:
  • Si HTTPSendForm utiliza la sintaxis con nombre de usuario y contraseña.
  • Si la URL del servidor está protegida con contraseña
  • Si se utiliza Proxy.
Universal Windows 10 App

Funcionalidad de aplicación requerida

Cuando se utiliza esta función, se debe declarar una funcionalidad de la aplicación en el asistente de generación de aplicaciones.
Característica necesaria: Internet y redes públicas (saliente).
Esta característica permite a las aplicaciones utilizar los accesos a INTERNET y a las redes públicas.
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290com.dll
Versión mínima requerida
  • Versión 14
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local