|
|
|
|
|
- Erreur de sécurité dans une transaction sécurisée
- Récupération
- Accéder à une URL protégée par mot de passe
- Utilisation d'un proxy
- En-têtes d'authentification
- Fonctionnalité d'application requise
HTTPEnvoieFormulaire (Fonction) En anglais : HTTPSendForm Envoie un formulaire HTTP. Ce formulaire a été créé grâce à la fonction HTTPCréeFormulaire.
HTTPCréeFormulaire("FORM") HTTPAjouteParamètre("FORM", "Prix", "3400") ... HTTPEnvoieFormulaire("FORM", "www.monsite.fr")
// Exemple d'envoi d'un fichier lIdForm = "TEST" HTTPCréeFormulaire(lIdForm) HTTPAjouteFichier(lIdForm, "file", "C:\temp\Attestation.pdf") SI PAS HTTPEnvoieFormulaire(lIdForm, "http://test.monserveur.net", httpPost, "AGENT") ALORS ... FIN
Syntaxe
Syntaxe complète Masquer les détails
<Résultat> = HTTPEnvoieFormulaire(<Nom du formulaire> , <URL à  contacter> [, <Méthode HTTP> [, <Agent utilisateur> [, <Entête HTTP supplémentaire> [, <Type du formulaire> [, <Nom User> [, <Mot de passe>]]]]]])
<Résultat> : Booléen - Vrai si le formulaire HTTP a été envoyé,
- Faux en cas d'erreur. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Nom du formulaire> : Chaîne de caractères Nom du formulaire HTTP à envoyer. <URL à contacter> : Chaîne de caractères Adresse du serveur à contacter sous forme d'adresse URL. Ce paramètre peut contenir le numéro de port pour la connexion sur le serveur. La valeur par défaut est 80 (correspond à un serveur de pages Web). Pour spécifier un numéro de port, utilisez le format : "<URL du serveur>:<N° du port>". Par exemple : http://www.pcsoft.fr:80.Remarque : Pour réaliser une transaction sécurisée, l'URL doit commencer par la chaîne "https://". <Méthode HTTP> : Constante optionnelle de type Entier Méthode HTTP utilisée : | | httpCopy | Méthode COPY | httpDelete | Méthode DELETE | httpGet | Méthode GET | httpHead | Méthode HEAD | httpPatch | Méthode PATCH | httpPost (Valeur par défaut) | Méthode POST | httpPut | Méthode PUT
|
<Agent utilisateur> : Chaîne de caractères optionnelle Identifie le client. Par défaut, la valeur "PC SOFT Framework" est envoyée. Le contenu de la réponse peut dépendre de l'agent utilisateur. Dans ce cas, consultez la documentation de l'agent utilisateur pour plus de détails. <Entête HTTP supplémentaire> : Chaîne de caractères optionnelle - Entête HTTP supplémentaire à ajouter au message HTTP. Attention : cette chaîne doit se terminer par un Retour-Chariot (RC).
- Chaîne vide ("") si aucun entête HTTP ne doit être ajouté.
<Type du formulaire> : Chaîne de caractères optionnelle ou constante optionnelle Type du formulaire à envoyer au serveur. Ce paramètre correspond au "Content-Type". Par défaut, le type du message correspond à : "application/x-www-form-urlencoded".
Ce paramètre peut correspondre à une des constantes suivantes :
| | typeMimeFormulaireMultiPartie | Le type du message correspond à : "multipart/form-data" (utilisé notamment pour le transfert de fichiers). | typeMimeFormulaireSimple (Valeur par défaut) | Le type du message correspond à : "application/x-www-form-urlencoded". |
<Nom User> : Chaîne de caractères optionnelle Nom 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. <Mot de passe> : Chaîne de caractères optionnelle Mot 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. Remarques Erreur de sécurité dans une transaction sécurisée Lors d'une transaction sécurisée, certaines erreurs de sécurité peuvent faire échouer l'envoi du formulaire : - certificat invalide ou ne provenant pas d'une société connue.
- nom du site figurant dans le certificat ne correspond pas à un serveur.
- date du certificat non-valide ou expiré.
- renvoi vers un serveur non sécurisé.
Ces erreurs sont renvoyées par la fonction ErreurInfo. Si une de ces erreurs est rencontrée, il est possible d'exécuter à nouveau la requête en ignorant ces erreurs. Selon la syntaxe utilisée, deux méthodes peuvent être utilisées : - Syntaxe 1 : utilisation de la variable HTTP.IgnoreErreur (voir paragraphe ci-dessous).
- Syntaxe 2 : utilisation de la propriété IgnoreErreur de la variable httpRequête.
Si la syntaxe complète est utilisée (syntaxe 1), il suffit d'utiliser la variable HTTP.IgnoreErreur : | | | Erreur renvoyée par la fonction ErreurInfo (avec la constante errCode) | Valeur de HTTP.IgnoreErreur (ces valeurs peuvent être combinées) | Description |
---|
httpErreurCertificatInvalide Certificat invalide ou ne provenant pas d'une société connue | httpIgnoreCertificatInvalide | Le certificat est ignoré. | httpErreurNomCertificatInvalide Nom du site figurant dans le certificat ne correspond pas à un serveur | httpIgnoreNomCertificatInvalide | Le nom du site figurant dans le certificat est ignoré. | httpErreurCertificatExpiré Date du certificat non-valide ou expiré | httpIgnoreCertificatExpiré | La date du certificat est ignorée | httpErreurRenvoiHTTP Renvoi vers un serveur non sécurisé | httpIgnoreRenvoiHTTP | Le renvoi vers un serveur non sécurisé est autorisé. | httpErreurRenvoiHTTPS Renvoi vers un serveur sécurisé | httpIgnoreRenvoiHTTPS | Le renvoi vers un serveur sécurisé est autorisé. |
Par exemple :
// Envoi d'un formulaire sur un serveur sécurisé ResLancement = HTTPEnvoieFormulaire("FORM", "https://www.MonServeur.com") // Si erreur rencontrée SI ResLancement = Faux ALORS // Selon le type d'erreur rencontré SELON ErreurInfo(errCode)  // Certificat invalide ou ne provenant pas d'une société connue  CAS httpErreurCertificatInvalide : // Ignorer le certificat ? SI OuiNon("Attention, une alerte de sécurité a été détecté !", ...  "Le certificat est invalide.", ... "Voulez-vous ignorer ce certificat ?") = Oui ALORS HTTP.IgnoreErreur = httpIgnoreCertificatInvalide // Nouvel envoi du formulaire ignorant cette erreur HTTPEnvoieFormulaire("FORM", "https://www.MonServeur.com") FIN // Date du certificat non-valide ou expiré CAS httpErreurCertificatExpiré : // Ignorer la date du certificat ? SI OuiNon("Attention, une alerte de sécurité a été détecté !", ... "La date du certificat est invalide ou expiré.", ... "Voulez-vous ignorer cette date ?") = Oui ALORS HTTP.IgnoreErreur = httpIgnoreCertificatExpiré // Nouvel envoi du formulaire en ignorant cette erreur HTTPEnvoieFormulaire("FORM", "https://www.MonServeur.com") FIN FIN FIN
Récupération La fonction HTTPDonneRésultat permet de récupérer le résultat du dernier formulaire HTTP envoyé. Accéder à une URL protégée par mot de passe Pour accéder à une URL protégée par mot de passe, il est possible : - soit d'utiliser les paramètres <Nom User> et <Mot de passe> de la fonction HTTPEnvoieFormulaire.
- soit de préciser directement dans le paramètre <URL à contacter> le login et le mot de passe.
Par exemple :
<Résultat> = HTTPEnvoieFormulaire("http://<user>:<password>@<URL à contacter>")
Utilisation d'un proxy Pour accéder à l'URL spécifiée dans la fonction HTTPEnvoieFormulaire via un proxy, utilisez la fonction Proxy. En-têtes d'authentification Les entêtes d'authentification sont générées automatiquement dans les cas suivants : - Si la fonction HTTPEnvoieFormulaire utilise la syntaxe avec login et mot de passe.
- Si l'URL serveur est protégée par mot de passe
- Si la fonction Proxy est utilisée.
Classification Métier / UI : Code métier Composante : wd300com.dll
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|