| 4D v15.4WEB LIRE ENTETE HTTP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v15.4
 WEB LIRE ENTETE HTTP 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WEB LIRE ENTETE HTTP ( entête | tabChamps {; tabValeurs} ) | ||||||||
| Paramètre | Type | Description | ||||||
| entête | tabChamps | Texte, Tableau texte |   | En-tête HTTP de la requête ou Champs de l’en-tête HTTP | |||||
| tabValeurs | Tableau texte |   | Contenu des champs de l’en-tête HTTP | |||||
La commande WEB LIRE ENTETE HTTP retourne, soit sous forme de chaîne, soit sous forme de deux tableaux, l’en-tête HTTP de la requête en cours de traitement.
Cette commande peut être appelée depuis toute méthode (Méthode base Sur authentification Web, Méthode base Sur connexion Web, méthode appelée par "/4DACTION"...) exécutée dans un process Web.
Lorsque vous utilisez cette syntaxe, le résultat retourné dans la variable entête est du type suivant :
 "GET /page.html HTTP\1.0"+Caractere(13)+Caractere(10)+"User-Agent: browser"+Caractere(13)+Caractere(10)+"Cookie: C=HELLO"Chaque champ d’en-tête est séparé par une séquence CR+LF (Retour chariot+Retour à la ligne), sous Windows et Mac OS.
| tabChamps{1} = "X-METHOD" | tabValeurs{1} = "GET" * | 
| tabChamps{2} = "X-URL" | tabValeurs{2} = "/page.html" * | 
| tabChamps{3} = "X-VERSION" | tabValeurs{3} = "HTTP/1.0" * | 
| tabChamps{4} = "User-Agent" | tabValeurs{4} = "browser" | 
| tabChamps{5} = "Cookie" | tabValeurs{5} = "C=HELLO" | 
* Ces trois premiers éléments ne correspondent pas à des champs HTTP. Ils constituent la première ligne de la requête.
Conformément à la norme HTTP, les noms des champs sont toujours libellés en anglais.
A titre indicatif, voici une liste non exhaustive des champs HTTP pouvant être présents dans une requête :
  ` Méthode projet GetHTTPField
  ` GetHTTPField ( Texte ) -> Texte
  ` GetHTTPField ( Nom en-tête HTTP ) -> Contenu en-tête HTTP
 C_TEXTE($0;$1)
 C_ENTIER LONG($vlElem)
 TABLEAU TEXTE($noms;0)
 TABLEAU TEXTE($valeurs;0)
 $0:=""
 WEB LIRE ENTETE HTTP($noms;$valeurs)
 $vlElem:=Chercher dans tableau($noms;$1)
 Si($vlElem>0)
    $0:=$valeurs{$vlElem}
 Fin de si  ` Contenu de l’en-tête Cookie
 $cookie:=GetHTTPField("Cookie") $langue:=GetHTTPField("Accept-Language")
 Au cas ou
    :($langue="@fr@") `Français (cf. liste ISO 639)
       WEB ENVOYER FICHIER("index_fr.html")
    :($langue="@es@") `Espagnol (cf. liste ISO 639)
       WEB ENVOYER FICHIER("index_es.html")
    Sinon
       WEB ENVOYER FICHIER("index.html")
 Fin de casNote : Les navigateurs Web permettent de définir plusieurs langues par défaut. Elles sont listées dans le champ “Accept-Language”, séparées par des ";". Leur priorité est définie par leur position au sein de la chaîne ; il peut donc être utile de tester la position des langues dans la chaîne.
 $host:=GetHTTPField("Host")
 Au cas ou
    :($host="www.site1.com")
       WEB ENVOYER FICHIER("home_site1.com")
    :($host="www.site2.com")
       WEB ENVOYER FICHIER("home_site2.com")
    Sinon
       WEB ENVOYER FICHIER("home_site.com")
 Fin de cas
	Produit :  4D
	Thème :  Serveur Web
	Numéro :  
        697
        
        
        
	Nom intl. :  WEB GET HTTP HEADER
	Créé :  4D v6.7
	Renommé : 4D v13
	
	
	4D - Langage ( 4D v15.4)
	
	
	4D - Langage ( 4D v15)
	
	
	
	
	
	
	4D - Langage ( 4D v15.3)
 Ajouter un commentaire
Ajouter un commentaire