Présentation de l'objet Request

Le rôle de l'objet Request est de permettre de récupérer la réponse HTTP envoyée par le navigateur au serveur, c'est-à-dire la page Web demandée par le client.

L'objet Response permet en réalité de manipuler l'ensemble des informations

 

Les constituants de l'objet Request

L'objet Request possède plusieurs collections, une propriété et une méthode:

 

Objet Request
Collections Methodes Propriétés
ClientCertificates TotalBytes BinaryRead
Cookies    
Form    
QueryString    
ServerVariables    

La majorité des propriété et des méthodes de l'objet Request correspondent à des fonctions ou propriétés permettant de manipuler les champs de la requete HTTP.

 

La réception de données

Pour comprendre comment utiliser l'objet Request, il est nécessaire de connaître la manière de laquelle les données sont envoyées au navigateur grâce à la requête HTTP. Pour cela réferrez-vous à la section "formulaire HTML".

L'envoi de données à un script CGi se fait par l'intermédiaire d'un formulaire HTML.

Les formulaires HTML se créent à l'aide de la balise <FORM> contenant des boutons, des champs, des listes et/ou des cases à cocher repérés par des noms auxquels seront associés des valeurs, fonction de la saisie des utilisateurs, puis d'un bouton de soumission du formulaire qui enverra l'ensemble des informations au script indiqué en tant qu'attribut Action de la balise FORM selon la méthode GET ou POST. Chaque élément du formulaire doit possèder un nom unique, de telle façon que la valeur associé à l'élément forme avec le nom de celui-ci une paire nom/valeur du type:


  
Nom_de_l_element=valeur

L'ensemble des paires nom/valeur sont séparées par des esperluettes (le caractère "&". Ainsi, l'envoi d'un formulaire crée une chaîne de la forme:


  
champ1=valeur1&champ2=valeur2&champ3=valeur3

L'envoi de cette chaîne se fera différamment selon que la méthode utilisée pour l'envoi du formulaire est GET ou POST.

 

La collection QueryString

La collection QueryString permet de récupérer la valeur associée à un champ par la syntaxe suivante


  
<%@ LANGUAGE="VBSCRIPT" %>
<% Request.QueryString("Champ") %>
  

Ainsi pour afficher tous les champs d'un formulaire, il est possible d'utiliser la clause For Each du VBScript, qui permet de parcourir l'ensemble des enregistrements d'une collection. Voici un script qui affiche l'ensemble des valeurs associées aux champs d'un formulaire après envoi au serveur:


  
<%@ LANGUAGE="VBSCRIPT" %>

<% For Each Champ in Request.QueryString %>

<%
Response.write(Champ + " = ")
Response.write(Request.QueryString(Champ)) %>
<%BR%>

<% Next %>

  

 

La collection Form

Alors que la collection QueryString permet de récupérer de façon simple les données envoyées au script ASP par l'intermédiaire de l'URL (c-est-à-dire par la méthode GET), la collection Form permet de manipuler les données envoyées par un formulaire utilisant la méthode POST.

La collection Form permet de récupérer la valeur associée à un champ par la syntaxe suivante


  
<%@ LANGUAGE="VBSCRIPT" %>
<% Request.Form("Champ") %>

Ainsi pour afficher tous les champs d'un formulaire, il est possible, comme pour la collection QueryString, d'utiliser la clause For Each du VBScript, permettant de parcourir les enregistrements d'une collection. Voici un script qui affiche l'ensemble des valeurs associées aux champs d'un formulaire après envoi au serveur:


  
<%@ LANGUAGE="VBSCRIPT" %>

<% For Each Champ in Request.Form %>

<%
Response.write(Champ + " = ")
Response.write(Request.Form(Champ)) %>
<%BR%>

<% Next %>

 

La collection Cookies

La collection Cookies permet de récupérer les valeurs d'un cookie, c'est-à-dire un fichier présent sur le disque du client contenant des données envoyées par le serveur, (un cookie peut être créé grâce à l'objet Response).

L'accève aux données d'un cookie se fait de la manière suivante:


  
<%@ LANGUAGE="VBSCRIPT" %>
<% Variable = Request.Cookies("NomCookie")("Element") %>

Il est possible de parcourir l'ensemble des Cookies par le script suivant:


  
<%@ LANGUAGE="VBSCRIPT" %>

<% For Each Element in Request.Cookies %>

<%
Response.write(Element + " = ")
Response.write(Request.Cookies(Element)) %>
<%BR%>

<% Next %>

 

La collection ServerVariabless

La collection ServerVariables de l'objet Request contient les en-têtes HTTP de la requête, pouvant parfois donner des informations très utiles sur les visiteurs où le navigateur du client...

La syntaxe pour récupérer ces en-têtes est la suivante:


  
Request.ServerVariables("NOM-EN-TETE")

Voici les principaux en-têtes pouvant être utiles:

 

Nom de l'en-tête Description
ALL_HTTP Type de méthode utilisée par le client (ie POST ou GET)
CONTENT_TYPE Type de contenu du corps de la requête (par exemple text/html). Voir types MIME
METHOD Type de méthode utilisée par le client (ie POST ou GET)
REFERER URL du lien à partir duquel la requête a été effectuée
REMOTE_ADDR Adresse IP du client
HTTP_ACCEPT_LANGUAGE Langage attendu par le browser (anglais par défaut)
HTTP_USER_AGENT Chaîne donnant des informations sur le client, comme le nom et la version du navigateur, du système d'exploitation

Pour compter les visiteurs d'un site par exemple, il peut être intéressant de stocker l'adresse IP de ces derniers et de compter le nombre d'adresses IP stockées étant différentes chaque jour. Voici le code permettant de stocker dans une variable l'adresse IP d'un visiteur, et qui l'affiche:


  
<%@ LANGUAGE="VBSCRIPT" %>
<%
IP = Request.ServerVariables("REMOTE_ADDR")
Response.write("Votre adresse IP est : " + IP) %>
<%BR%>
  

 

 

 

 











Ajouter aux Favoris Ajouter aux votre page
 

 





Autoformations les cours informatiques en vidéos gratuitement
:: Copyright © 2008 http://www.autoformations.co.cc All rights reserved ::