PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Propriétés spécifiques à la description des variables de type httpRequête
  • Remarques
  • Limites
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Le type httpRequête permet de définir toutes les caractéristiques avancées d’une requête HTTP/HTTPS. Les caractéristiques de cette requête HTTP/HTTPS peuvent être définies et modifiées à l'aide de différentes propriétés WLangage.
Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
Versions 22 et supérieures
Widget Android Ce type de variable est désormais disponible en mode Widget Android.
Android Ce type de variable est désormais disponible pour les applications Android.
WEBDEV - Code Navigateur Ce type de variable est désormais disponible en code navigateur.
Nouveauté 22
Widget Android Ce type de variable est désormais disponible en mode Widget Android.
Android Ce type de variable est désormais disponible pour les applications Android.
WEBDEV - Code Navigateur Ce type de variable est désormais disponible en code navigateur.
Widget Android Ce type de variable est désormais disponible en mode Widget Android.
Android Ce type de variable est désormais disponible pour les applications Android.
WEBDEV - Code Navigateur Ce type de variable est désormais disponible en code navigateur.
Exemple
cMaRequête est un httpRequête
cMaRequête..URL = "https://www.pcsoft.fr"
cMaRéponse est un httpRéponse = HTTPEnvoie(cMaRequête)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
SINON
Info(cMaRéponse..Contenu)
FIN
Remarques

Propriétés spécifiques à la description des variables de type httpRequête

Les propriétés suivantes peuvent être utilisées pour manipuler une requête HTTP/HTTPS :
Nom de la propriétéType manipuléEffet
AgentUtilisateurChaîne de caractèresIdentifie le client. Par défaut, la valeur est "PC SOFT Framework".Identifie le client. Par défaut, la valeur correspond au nom de l'application.
Le contenu de la réponse peut dépendre de l'agent utilisateur (par exemple, une requête effectuée à partir d'un Palm Pilot nécessite des pages différentes d'une requête effectuée avec un navigateur PC). Dans ce cas, consultez la documentation de l'agent utilisateur pour plus de détails.
WEBDEV - Code Navigateur Non disponible.
Versions 22 et supérieures
AuthToken
Nouveauté 22
AuthToken
AuthToken
Variable de type AuthTokenToken d'accès à un Webservice à utiliser en cas d'authentification via le protocole OAuth 2.0. Ce token d'accès a été récupéré via la fonction AuthIdentifie.
Le token d'accès est automatiquement passé au paramètre access_token directement sur l'URL. Si le paramètre doit être différent, construisez vous-même l'URL http à exécuter.
WEBDEV - Code Navigateur Non disponible.
AvancementEnvoiVariable de type httpAvancementNotification de l’état d’avancement de l’envoi des données POST.
AvancementTéléchargementVariable de type httpAvancementNotification de l’état d’avancement de la réception.
Versions 24 et supérieures
CertificatClient
Nouveauté 24
CertificatClient
CertificatClient
Chaîne de caractèresCorrespond :
  • soit au nom du certificat à utiliser. Si dans le magasin de certificats, deux certificats ont le même nom, un des deux sera pris aléatoirement par le système.
  • soit à l'empreinte numérique du certificat à utiliser. Seule l'empreinte identifie de manière unique un certificat.
Le nom du certificat (comme l'empreinte numérique) peut être connu grâce à la fonction HTTPListeCertificat.
Si cette propriété correspond à une chaîne vide (""), le certificat par défaut est réinitialisée à "<Aucun>".
ContentTypeChaîne de caractèresType du contenu du message HTTP à envoyer au serveur. Cette propriété est prise en compte uniquement si la méthode d'envoi (propriété ..Méthode) le permet.
Par défaut, le type du message correspond à : "application/x-www-form-urlencoded".
Il est cependant possible de mettre n'importe quelle valeur, par exemple : "text/xml", "application/javascript", "application/json", "application/xml", "image/jpeg", ...
Pour envoyer des données brutes, qui seront lues en une seule fois par le serveur d'application WEBDEV, utilisez les types :
  • "application/octet-stream".
  • "text/xml".
ContenuBufferMessage HTTP à envoyer au serveur. Cette propriété est prise en compte uniquement si la méthode d'envoi (propriété ..Méthode) le permet.
Le message à envoyer doit respecter le protocole HTTP utilisé. Par défaut, si cette propriété est précisée et non vide, la méthode utilisée est une requête POST sinon c'est une requête GET.
Versions 24 et supérieures
Destination
Nouveauté 24
Destination
Destination
Chaîne de caractèresChemin complet du fichier de sauvegarde du résultat de la requête HTTP.
WEBDEV - Code Navigateur Non disponible.
DuréeNonRéponseEntier ou DuréeTemps maximum d'attente de la réponse (exprimé en millisecondes). Cette propriété peut correspondre à :
  • un entier correspondant au nombre de millisecondes,
  • une variable de type Durée,
  • Versions 23 et supérieures
    l'indication directe de la durée (par exemple '1s' ou '10ms').
    Nouveauté 23
    l'indication directe de la durée (par exemple '1s' ou '10ms').
    l'indication directe de la durée (par exemple '1s' ou '10ms').
Par défaut, cette propriété vaut 20 secondes.
Remarque : Le timeout défini avec la fonction HTTPTimeOut n'a pas d'influence sur cette propriété.
WEBDEV - Code Navigateur Non disponible.
EntêteTableau associatif de chaînes de caractèresEnsemble clé/valeur des entêtes à envoyer.
Exemple d'utilisation de cette propriété :
cMaRequête..Entête["Authorization"] = ...
" WSSE profile=""UsernameToken"""
cMaRequête..Entête["X-WSSE"] = ...
"UsernameToken Username=blahblah "
cMaRequête..Entête["Cache-Control"] = " no-cache"
IgnoreErreurConstante de type EntierSpécifie les erreurs ignorées. Correspond à une constante ou une combinaison de constantes :
  • httpIgnoreCertificatInvalide : Le certificat est ignoré.
  • httpIgnoreNomCertificatInvalide : Le nom du site figurant dans le certificat est ignoré.
  • httpIgnoreCertificatExpiré : La date du certificat est ignorée.
  • Versions 21 et supérieures
    httpIgnoreRedirection : La redirection vers une page est ignorée.
    Nouveauté 21
    httpIgnoreRedirection : La redirection vers une page est ignorée.
    httpIgnoreRedirection : La redirection vers une page est ignorée.
  • httpIgnoreRenvoiHTTP : Le renvoi vers un serveur non sécurisé est autorisé.
  • httpIgnoreRenvoiHTTPS : Le renvoi vers un serveur sécurisé est autorisé.
  • httpIgnoreRévocation : Le contrôle dans la liste des certificats révoqués est ignoré.
Versions 22 et supérieures
AndroidWidget Android Seules les erreurs suivantes sont gérées : httpIgnoreCertificatExpiré, httpIgnoreCertificatInvalide, httpIgnoreNomCertificatInvalide, httpIgnoreRévocation, httpIgnoreRedirection.
Nouveauté 22
AndroidWidget Android Seules les erreurs suivantes sont gérées : httpIgnoreCertificatExpiré, httpIgnoreCertificatInvalide, httpIgnoreNomCertificatInvalide, httpIgnoreRévocation, httpIgnoreRedirection.
AndroidWidget Android Seules les erreurs suivantes sont gérées : httpIgnoreCertificatExpiré, httpIgnoreCertificatInvalide, httpIgnoreNomCertificatInvalide, httpIgnoreRévocation, httpIgnoreRedirection.
WEBDEV - Code Navigateur Non disponible.
MéthodeConstante de type EntierMéthode HTTP utilisée :
  • httpCopy : Méthode COPY.
  • httpDelete : Méthode DELETE.
  • httpGet : Méthode GET.
  • httpHead : Methode HEAD.
  • httpPatch : Méthode PATCH.
  • httpPost : Méthode POST.
  • httpPut : Méthode PUT.
Par défaut, si la propriété ..Contenu est non vide, la méthode httpPost est utilisée. Dans le cas contraire, la méthode httpGet est utilisée.
MotDePasseChaîne de caractèresMot de passe associé au nom d'utilisateur (chaîne vide par défaut). Permet d'accéder à une page avec une URL protégée. Attention : Le mot de passe est transmis en clair sur Internet.
Remarque : En renseignant les propriétés ..NomUtilisateur et ..MotDePasse, le "Authorization:Basic" correspondant est automatiquement généré dans l'entête de la requête.
Versions 24 et supérieures
MotDePasseCertificatClient
Nouveauté 24
MotDePasseCertificatClient
MotDePasseCertificatClient
Chaîne de caractèresMot de passe associé au certificat client (chaîne vide par défaut).
Versions 24 et supérieures
ProcédureTrace
Nouveauté 24
ProcédureTrace
ProcédureTrace
ProcédureNom de la procédure WLangage permettant de connaître les entêtes et les données envoyées. Cette procédure est de la forme :
PROCÉDURE <Nom procédure>(<TypeInfo> est entier,
<Data> est un Buffer)
où :
  • <TypeInfo> est une constante de type Entier correspondant au type de données tracées :
    • httpTraceEntêteEnvoyé : Entête.
    • httpTraceDonnéeEnvoyée : Données.
  • <Data> est un buffer contenant les informations.
Exemple de procédure :
PROCÉDURE ProcTrace(nTypeInfo est entier, ...
bufByData est un Buffer)
SELON nTypeInfo
CAS httpTraceEnteteEnvoye:
Trace("Entete : ", ...
UTF8VersChaîne(bufByData))
CAS httpTraceDonneeEnvoyee:
Trace("Donnees : ", ...
bufByData)
FIN
WEBDEV - Code Navigateur Non disponible.
Versions 21 et supérieures
TimeoutConnexion
Nouveauté 21
TimeoutConnexion
TimeoutConnexion
Entier ou DuréeTemps maximal d'attente pour la connexion exprimé en millisecondes (par défaut 20 secondes, soit 20000 millisecondes). Cette propriété peut correspondre à :
  • un entier correspondant au nombre de millisecondes,
  • une variable de type Durée,
  • Versions 23 et supérieures
    l'indication directe de la durée (par exemple 20 s ou 20000 ms).
    Nouveauté 23
    l'indication directe de la durée (par exemple 20 s ou 20000 ms).
    l'indication directe de la durée (par exemple 20 s ou 20000 ms).
Si à la fin de ce délai, la connexion n'a pas pu s'effectuer, il y a échec de la connexion (la fonction HTTPEnvoie par exemple renverra une erreur, contenue dans la variable résultat de type httpRéponse).
WEBDEV - Code Navigateur Non disponible.
URLChaîne de caractèresAdresse du serveur à contacter sous forme d'adresse URL.
Cette URL peut contenir :
  • le numéro de port pour la connexion sur le serveur.
    La valeur par défaut est 80 en HTTP (correspond à un serveur de pages Web) et 443 en HTTPS. Pour spécifier un numéro de port, utilisez le format : "<URL du serveur>:<N° du port>". Par exemple : "http://www.pcsoft.fr:80".
  • des paramètres supplémentaires. Ces paramètres peuvent permettre d'effectuer une recherche ou de remplir un formulaire. Par exemple, pour rechercher "pcsoft" sur "http://www.google.fr", l'URL à contacter sera : "http://www.google.fr/search?q=pcsoft".
Remarques :
  • Pour spécifier à la fois le numéro de port et des paramètres supplémentaires, utilisez le format : "<URL du serveur>:<N° du port>/<Paramètres supplémentaires>".
  • Pour réaliser une transaction sécurisée, l'URL doit commencer par la chaîne "https://". Dans ce cas, le mode de gestion des requêtes est toujours effectué par Internet Explorer (pour plus de détails, consultez la fonction HTTPParamètre).
UtilisateurChaîne de caractèresNom permettant d'accéder à une page avec une URL protégée (chaîne vide par défaut). Ce nom permet d'identifier l'utilisateur.
Remarque : En renseignant les propriétés ..NomUtilisateur et ..MotDePasse, le "Authorization:Basic" correspondant est automatiquement généré dans l'entête de la requête.
Versions 22 et supérieures
VersionSSL
Nouveauté 22
VersionSSL
VersionSSL
Constante de type EntierVersion SSL utilisée :
  • ProtocoleDéfaut : Protocole par défaut (TLS 1.2).
  • ProtocoleTLS1 : Protocole TLS1.
  • ProtocoleTLS1_1 : Protocole TLS1.1.
  • ProtocoleTLS1_2 : Protocole TLS1.2.
WEBDEV - Code Navigateur Non disponible.

Remarque : Ces propriétés peuvent être utilisées à l'aide d'une des deux syntaxes suivantes :
  • <Nom de la variable>..<Nom de la propriété>
  • <Nom de la variable>.<Nom de la propriété>

Remarques

  • La gestion des certificats client n'est pas disponible.
  • Versions 21 et supérieures
    Par défaut, les redirections sont gérées. Pour ne pas gérer les redirections, utilisez la constante httpIgnoreRedirection dans la propriété ..IgnoreErreur.
    Nouveauté 21
    Par défaut, les redirections sont gérées. Pour ne pas gérer les redirections, utilisez la constante httpIgnoreRedirection dans la propriété ..IgnoreErreur.
    Par défaut, les redirections sont gérées. Pour ne pas gérer les redirections, utilisez la constante httpIgnoreRedirection dans la propriété ..IgnoreErreur.
AndroidWidget Android

Limites

Ce type de variable est disponible uniquement sur des appareils avec des processeurs ARM. Si ce type de variable est utilisé sur des appareils avec des processeurs non ARM (x86, mips, ...), une erreur fatale sera déclenchée. Ce type de variable est disponible uniquement sur des appareils utilisant des processeurs ARM ou une émulation ARM. Dans le cas contraire (et sur la tablette Samsung Galaxy Tab 3), une erreur fatale sera déclenchée.
Version minimum requise
  • Version 20
Documentation également disponible pour…
Commentaires
..httpIgnoreCertificatInvalide n'est pas fonctionnel en Linux
La documentation ne le dit pas mais ..httpIgnoreCertificatInvalide n'est pas possible en Linux. Il faut utiliser httpIgnoreCertificatExpiré+httpIgnoreCertificatInvalide+httpIgnoreNomCertificatInvalide
Philippe Jean
30 juil. 2019
 .Destination
Où est la documentation de la propriété .Destination ?
(nouveauté 116 de la version 24).
C'est dans bien dans Windev, mais il n'y a pas d'autre aide. On met une chaîne ?
Nicolas COMPAIN
08 déc. 2018