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=valeurL'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=valeur3L'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 méthode GET permet d'envoyer les éléments du formulaire au travers de l'URL du script, en ajoutant l'ensemble des paires nom/valeur à l'URL du script, séparé de celui-ci par un point d'interrogation, ce qui donne un URL du type:
http://nom_du_serveur/cgi-bin/script.cgi?champ1=valeur1&champ2=valeur2...
Toutefois, la longueur de la chaîne URL étant limitée à 255 caractères, les informations situées au-delà de cette limite seront irrémédiablement perdues. De plus, cela crée une URL surchargée dans la barre d'adresse d'un navigateur et peut dévoiler des informations sensibles comme un mot de passe...- la méthode POST est une bonne alternative à la méthode GET. Cette méthode code les informations de la même façon que la méthode GET (encodage URL et paires nom/valeur) mais elle envoie les données à la suite des en-têtes HTTP, dans un champ appelé corps de la requête. De cette façon la quantité de données envoyées n'est pus limitée, et est connue du serveur grâce à l'en-tête permettant de connaître la taille du corps de la requête.
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
Acceuil | Forum| Contactez-Nous | Annace |Chat| Music |Radios|Sockets |Protocoles|Windows NT
Langage C |Langage C++ | Assembleur | Java | Perl |Pascal/delphi | Visual basic|MERISE | SQL| JDBC| ODBC
ASP|CGI |HTML |DHTML |XML|Javascript |JSP |PHP|Servlets |VBScript |WAP |UNIX |Linux |MacOS|Windows 9x
Assemblage-PC |Modèle relationnel|Histoire-PC|Fonctionnement-PC|photo pour rire|MS-Dos|Architecture-PC
Flash MX |Word-2003|Power Point|Excel|Langage C|Langage Java|Visual Basic|La base XP | programming
Physique Arabic partie I|Programation en arabe|Physique Français|Internet| Sécurité Informatique
HTML |Agebre en Français|Math Français partie I|Physique Arabic partie II| الطرق العددية
Electricité| Math Français partie II|Math en Arabic|Agebre en Arabic| الأعداد العقدية
Tous les cours informatiques en vidéos |Droit Informatique |logiciels
Tous les cours physiques en vidéos |Microsoft office
Cours math en vidéos | Msn en ligne
TV Live
Autoformations les cours informatiques en vidéos gratuitement
:: Copyright © 2008 http://www.autoformations.co.cc All rights reserved ::