4D v16.3HTTP Request |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
HTTP Request
HTTP Request
La commande HTTP Request permet d’envoyer tout type de requête HTTP vers un URL spécifique et de traiter la réponse du serveur HTTP. Passez dans le paramètre méthodeHTTP la méthode HTTP de la requête. Vous pouvez utiliser une des constantes suivantes, placées dans le thème Client HTTP :
Passez dans le paramètre url l’URL auquel adresser la requête. La syntaxe à utiliser est : http://[{user}:[{password}]@]host[:{port}][/{path}][?{queryString}] Par exemple, les chaînes suivantes peuvent être passées : http://www.myserver.com (*) Lors des requêtes https, l’autorité du certificat n’est pas vérifiée. Passez dans le paramètre contenu le corps (body) de la requête. Les données à passer dans ce paramètre dépendent de la méthode HTTP de la requête.
Après exécution de la commande, le paramètre réponse récupère le résultat de la requête retourné par le serveur. Ce résultat correspond à la partie "corps" (body) de la réponse, sans les "en-têtes" (headers). Vous pouvez passer des variables de différents types dans réponse :
Note : Lorsqu'une variable texte est passée dans réponse, 4D tente de décoder les données retournées par le serveur. Le programme essaie d'abord de récupérer le charset depuis l'en-tête content-type, ou à défaut via la BOM de la page ; en dernier lieu 4D recherche tout attribut http-equiv charset (dans le contenu html) ou encoding (pour le xml). Si aucun charset ne peut être détecté, 4D décode la réponse en ANSI. Si la conversion échoue, le texte résultant est vide. Si vous n'êtes pas sûr que le serveur retourne une information de charset ou une BOM, mais si vous connaissez l'encodage, il est préférable de passer un BLOB dans réponse et d'utiliser la commande Convertir vers texte. Si vous passez une variable de type C_OBJET dans le paramètre réponse et si la requête retourne un résultat ayant le content-type "application/json" (ou "quelquechose/json"), 4D tentera d’analyser le contenu JSON afin de générer l’objet. Si le résultat retourné par le serveur ne correspond pas au type de la variable réponse, elle est laissée vide et la variable système OK prend la valeur 0. Vous pouvez passer dans les paramètres nomsEnTêtes et valeursEnTêtes des tableaux contenant respectivement les noms et les valeurs des en-têtes de la requête. Le paramètre * permet d’activer le mécanisme de keep-alive pour la connexion au serveur. Par défaut, si ce paramètre est omis, le keep-alive n’est pas activé. La commande retourne le code de statut HTTP standard (200=OK...) tel que renvoyé par le serveur. La liste des codes de statut HTTP est fournie dans la RFC 2616. Demande de suppression d’un enregistrement dans une base distante : C_TEXTE($response) Note : Il vous appartient de traiter la demande de manière appropriée au niveau du serveur distant, la commande HTTP Request gère uniquement la requête et le résultat retourné. Demande d'ajout d’un enregistrement dans une base distante : C_TEXTE($response) Note : Il vous appartient de traiter la demande de manière appropriée au niveau du serveur distant, la commande HTTP Request gère uniquement la requête et le résultat retourné. Demande d’ajout d’enregistrement en JSON dans une base distante : C_OBJET($content)
Voir aussi
|
PROPRIÉTÉS
Produit : 4D HISTORIQUE
Créé : 4D v13 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||