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 segura
  • Recuperación
  • Acceder a una URL protegida por contraseña
  • Utilizar un proxy
  • Cabeceras de autenticación
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Envía un formulario HTTP. Este formulario ha sido creado por HTTPCreateForm.
HTTPCreateForm("FORM")
HTTPAddParameter("FORM", "Prix", "3400") 
...
HTTPSendForm("FORM", "www.monsite.fr")
// Exemple d'envoi d'un fichier 
lIdForm = "TEST"
HTTPCreateForm(lIdForm) 
HTTPAddFile(lIdForm, "file", "C:\temp\Attestation.pdf") 
IF NOT HTTPSendForm(lIdForm, "http://test.monserveur.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 contacto (dirección URL).
Este parámetro puede contener el número de puerto para conectarse al servidor. El valor por defecto es 80 (corresponde a un servidor de páginas Web). Para especificar un número de puerto, use el siguiente formato: "<URL del servidor>:<Número de puerto>".
Por ejemplo: http://www.windev.com:80.
Nota: Para realizar una transacción segura, la URL debe empezar por "https://".
<HTTP Method>: Constante opcional de tipo Integer
Método HTTP utilizado:
httpBorrarMétodo DELETE
httpCopyMétodo COPY
httpGetMétodo GET
httpHeadMétodo HEAD
httpPatchMétodo PATCH
httpPost
(Valor predeterminado)
Método POST
httpPutMétodo PUT
<User agent>: Cadena de caracteres opcional
Identifica el 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
  • Encabezado HTTP adicional que se añadirá al mensaje HTTP. Atención: Esta cadena debe terminar con un retorno de carro (CR)..
  • 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".
De forma predeterminada, el tipo de mensaje corresponde a "application/x-www-form-urlencoded". Este parámetro puede corresponder a una de las siguientes constantes:
mimeTypeMultiPartFormEl tipo de mensaje corresponde a: "multipart/form-data" (utilizado principalmente para la transferencia de archivos).
mimeTypeSimpleForm
(Valor predeterminado)
El tipo 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 forma predeterminada). Este nombre se utiliza para identificar al usuario.
<Password>: Cadena opcional o cadena secreta
Contraseña asociada al nombre de usuario (de forma predeterminada se utiliza una cadena vacía). Permite acceder a una página con una URL protegida. Atención: La contraseña no se cifra cuando se envía por Internet.
Novedad versión 2025
Cadenas secretas: Si utiliza el almacén de cadenas secretas, el tipo de cadena secreta utilizado para este parámetro debe ser "ANSI o Unicode string".
Para obtener más información sobre las cadenas secretas y el almacén, consulte Almacén de cadenas secretas.
Novedad versión 2025
AndroidWidget Android Las cadenas secretas no están disponibles para este parámetro en aplicaciones Android y widgets de Android.
WINDEVWEBDEV - Código ServidorAndroidWidget Android iPhone/iPadIOS WidgetAjax

Sintaxis con el tipo httpRequest Ocultar los detalles

<Result> = HTTPSendForm(<Form name> , <HTTP request>)
<Result>: Variable de tipo httpResponse
Nombre de la variable httpResponse que contiene la respuesta de la petición.
<Form name>: Cadena de caracteres
Nombre del formulario HTTP a enviar.
<HTTP request>: Variable de tipo httpRequest
Nombre de la variable httpRequest 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 la variable httpRequest que contiene los parámetros necesarios para enviar el formulario.
<WLanguage procedure>: Nombre del procedimiento
Nombre del procedimiento WLanguage al que se llama 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 segura

Durante una transacción segura, el envío del formulario puede fallar debido a errores de seguridad:
  • certificado no válido o emitido por una organización desconocida.
  • el nombre del sitio especificado en el certificado no corresponde a un servidor.
  • fecha del certificado no válida o expirada.
  • redirección a un servidor no seguro.
Estos errores son devueltos por la función ErrorInfo.
Si se produce uno de estos errores, puede volver a ejecutar la solicitud ignorando los errores.
Se pueden utilizar dos métodos según la sintaxis:
  • Sintaxis 1: HTTP.IgnoreError (véase el párrafo siguiente).
  • WINDEVWEBDEV - Código ServidoriPhone/iPadAjax Sintaxis 2: IgnorarError de la variable httpRequest.
Si se utiliza la sintaxis completa (sintaxis 1)basta con utilizar el método HTTP.IgnorarError:
Error devuelto por la función ErrorInfo
(con la constante errCode)
Valor de HTTP.IgnoreError
(estos valores pueden combinarse)
Descripción
httpErrorInvalidCertificate
Certificado no válido o certificado procedente de una empresa desconocida
httpIgnoreInvalidCertificateEl certificado se ignora.
httpErrorInvalidCertificateName
El nombre del sitio en el certificado no corresponde a un servidor
httpIgnoreInvalidCertificateNameIgnora el nombre del sitio especificado en el certificado.
httpErrorExpiredCertificate
Fecha del certificado no válida o caducada
httpIgnoreExpiredCertificateIgnora la fecha del certificado
httpErrorRedirectToHTTP
Redirección a un servidor no seguro
httpIgnoreRedirectToHTTPSe permite la redirección a un servidor no seguro.
httpIgnoreRedirectToHTTPS
Redirección a un servidor seguro
httpIgnoreRedirectToHTTPSSe permite la redirección a un servidor seguro.
Por ejemplo:
// Envoi d'un formulaire sur un serveur sécurisé
ResLancement = HTTPSendForm("FORM", "https://www.MonServeur.com")
// Si erreur rencontrée
IF ResLancement = False THEN
	// Selon le type d'erreur rencontré
	SWITCH ErrorInfo(errCode)
	  // Certificat invalide ou ne provenant pas d'une société connue
	  CASE httpErrorInvalidCertificate : 
		// Ignorer le certificat ?
		IF YesNo("Attention, une alerte de sécurité a été détecté !", ...
			 "Le certificat est invalide.", ...
				"Voulez-vous ignorer ce certificat ?") = Yes THEN
			HTTP.IgnoreError = httpIgnoreInvalidCertificate
			// Nouvel envoi du formulaire ignorant cette erreur
			HTTPSendForm("FORM", "https://www.MonServeur.com")
		END
	// Date du certificat non-valide ou expiré
	CASE httpErrorExpiredCertificate : 
		// Ignorer la date du certificat ?
		IF YesNo("Attention, une alerte de sécurité a été détecté !", ...
			"La date du certificat est invalide ou expiré.", ...
				"Voulez-vous ignorer cette date ?") = Yes THEN
			HTTP.IgnoreError = httpIgnoreExpiredCertificate
			// Nouvel envoi du formulaire en ignorant cette erreur
			HTTPSendForm("FORM", "https://www.MonServeur.com")
		END
	END
END
AndroidWidget Android Los errores relativos a la seguridad de las transacciones no son devueltos por ErrorInfo (se rechaza la conexión). Estos errores no pueden ignorarse. La variable HTTP.IgnoreError no está disponible.

Recuperación

HTTPGetResult recupera el resultado del último formulario HTTP enviado.

Acceder a una URL protegida por contraseña

Para acceder a una URL protegida por contraseña, puede:
  • usa los <Username> y <Password> parámetros 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>")

Utilizar 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 por contraseña
  • Si se utiliza Proxy.
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd300com.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: 18/06/2025

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