lopman vous propose dans Webmastring » Asp :
Présentation de l’objet Request
Le rôle de l’objet Request est de permettre de récupérer la requête HTTP envoyée par le client au serveur, c’est-à-dire qu’il permet en réalité de manipuler l’ensemble des informations envoyées par le navigateur du visiteur (page demandée, nom et version du navigateur, cookies stockés sur le disque du client, adresse IP du client, …).
Les constituants de l’objet Request
L’objet Request possède plusieurs collections, une propriété et une méthode :
| Collections | Propriétés | Méthodes |
|---|---|---|
| ClientCertificate | TotalBytes | BinaryRead |
| Cookies | ||
| Form | ||
| QueryString | ||
| ServerVariables |
La majorité des propriétés et des méthodes de l’objet Request correspondent à des fonctions ou propriétés permettant de manipuler les champs de la requête 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 baliseFORM 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ée à 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 :
Le rôle de l’objet Request est de permettre de récupérer la requête HTTP envoyée par le client au serveur, c’est-à-dire qu’il permet en réalité de manipuler l’ensemble des informations envoyées par le navigateur du visiteur (page demandée, nom et version du navigateur, cookies stockés sur le disque du client, adresse IP du client, …). L’objet Request possède plusieurs collections, une propriété et une méthode :Les constituants de l’objet Request
| Collections | Propriétés | Méthodes |
|---|---|---|
| ClientCertificate | TotalBytes | BinaryRead |
| Cookies | ||
| Form | ||
| QueryString | ||
| ServerVariables |
La majorité des propriétés et des méthodes de l’objet Request correspondent à des fonctions ou propriétés permettant de manipuler les champs de la requête HTTP. 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 baliseFORM 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ée à l’élément forme avec le nom de celui-ci une paire nom/valeur du type : 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 : L’envoi de cette chaîne se fera différemment selon que la méthode utilisée pour l’envoi du formulaire est GET ou POST. 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 réception de données
Nom_de_l_element=valeur
champ1=valeur1&champ2=valeur2&champ3=valeur3
http://nom_du_serveur/cgi-bin/script.cgi?champ1=valeur1&champ2=valeur2...
| Il est possible de lire les informations transmises à la page cible avec une seule et unique méthode et ce quelle que soit la méthode d’envoi (GET ou POST). Par exemple :
dim sParam1 : sParam1 = Request("Param1")
dim sParam2 : sParam2 = Request("Param2")
Cela est très pratique lorsqu’une même page peut être appelée par un formulaire en GET et un autre en POST. |
La collection QueryString permet de récupérer la chaîne de requête envoyée par le client, c’est-à-dire les paires clés/valeurs présentes dans l’URL après le point d’interrogation. Prenons par exemple l’URL suivante : La chaîne de requête est ainsi la suivante : param et nom sont ici des champs (parfois appelés clés) et leurs valeurs respectives sont 12 etJeff. Voici la syntaxe de la collection QueryString : Ainsi, la récupération de la variable nom dans l’exemple ci-dessus se fera grâce à l’instruction suivante : Dans le cas où le formulaire possède plusieurs éléments de même nom (c’est le cas des cases à cocher et des menus à multiples sélections), il est possible de parcourir les éléments grâce aux paramètres index et count de la collection QueryString. Soit le formulaire suivant : Il est possible d’afficher le nombre de choix sélectionnés, ainsi que de les lister de la façon suivante dans le fichier mes_loisirs.asp (valeur de l’attribut action du formulaire ci-dessus ; le fichier mes_loisirs.asp pouvant être le même fichier que celui contenant le formulaire). Il est possible d’afficher tous les champs d’un formulaire en utilisant 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 : Enfin pour afficher tous les champs, et les valeurs prises par chaque champ, voici un exemple de code : 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 (ou plus exactement par la méthode GET du protocole HTTP), la collection Form permet de manipuler les données envoyées par un formulaire en utilisant la méthode POST. La collection Form permet de récupérer la valeur associée à un champ par la syntaxe suivante : 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 : 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ès aux données d’un cookie se fait de la manière suivante : Il est possible de parcourir l’ensemble des cookies par le script suivant : 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 ou le nom et la version du navigateur du client… La syntaxe pour récupérer ces en-têtes est la suivante : Voici les principaux en-têtes pouvant être utiles :La collection QueryString
http://www.dyalo.com/asp/caddie.asp?param=12&nom=Jeff
param=12&nom=Jeff
<%@ LANGUAGE="VBSCRIPT" %>
<% Request.QueryString("Champ")[(Index)|.Count] %>
<% Request.QueryString("nom") %>
<FORM action="mes_loisirs.asp" method="get">
<BR><INPUT type="checkbox" name="choix" value="musique"> musique
<BR><INPUT type="checkbox" name="choix" value="cinéma"> cinéma
<BR><INPUT type="checkbox" name="choix" value="sport"> sport
<BR><INPUT type="checkbox" name="choix" value="théâtre"> théâtre
<BR><INPUT type="submit" value="Valider la sélection">
</FORM>
<%
Response.Write "J'ai sélectionné "
& Request.QueryString("choix").Count
& " loisirs : <BR>"
for i = 1 to Request.QueryString("choix").Count
Response.Write "<BR>"
& Request.QueryString("choix")(i)
next
%>
<%@ LANGUAGE="VBSCRIPT" %>
<%
For Each Champ in Request.QueryString
Response.write(Champ & " = " & Request.QueryString(Champ))
Next
%>
<BR>
<%@ LANGUAGE="VBSCRIPT" %>
<%
For Each Champ in Request.QueryString
Response.write("<P>" & Champ & " : " & Request.QueryString(Champ))
For i = 1 to Request.QueryString(Champ).Count
Response.Write("<BR>Valeur numéro "
& Request.QueryString("choix").Count
& ": " & Request.QueryString(Champ)(i))
Next
Next
%>
<BR>
La collection Form
<%@ LANGUAGE="VBSCRIPT" %>
<% Request.Form("Champ") %>
<%@ LANGUAGE="VBSCRIPT" %>
<% For Each Champ in Request.Form %>
<%
Response.write(Champ + " = ")
Response.write(Request.Form(Champ)) %>
<%BR%>
<% Next %>
La collection Cookies
<%@ LANGUAGE="VBSCRIPT" %>
<% Variable = Request.Cookies("NomCookie")("Element") %>
<%@ LANGUAGE="VBSCRIPT" %>
<% For Each Element in Request.Cookies %>
<%
Response.write(Element + " = ")
Response.write(Request.Cookies(Element)) %>
<BR>
<% Next %>
La collection ServerVariables
Request.ServerVariables("NOM-EN-TETE")
| Nom de l’en-tête | Description |
|---|---|
| ALL_HTTP | Tous les en-têtes HTTP envoyés par le client. |
| ALL_RAW | Tous les en-têtes HTTP envoyés par le client sans formatage (de façon brute). |
| APPL_MD_PATH | Chemin précisé dans la balise <Base>. |
| APPL_PHYSICAL_PATH | Chemin physique (sur le serveur) associé à celui précisé dans la balise <Base>. |
| AUTH_PASSWORD | Mot de passe saisi lors d’une authentification HTTP. |
| AUTH_TYPE | Type d’authentification retenue par le serveur (basic oudigest). |
| AUTH_USER | Nom d’utilisateur saisi lors d’une authentification HTTP. |
| CONTENT_LENGTH | Longueur (en octets) du corps de la requête. |
| CONTENT_TYPE | Type de contenu du corps de la requête (par exempletext/html). Voir types MIME. |
| HTTP_ACCEPT | Valeur de la directive Accept du protocole HTTP. |
| HTTP_ACCEPT_ENCODING | Valeur de la directive Accept-Enconding du protocole HTTP. |
| HTTP_ACCEPT_LANGUAGE | Langage attendu par le browser (anglais par défaut). |
| HTTP_COOKIE | Chaîne correspondant aux éventuels cookies du client. |
| HTTP_HOST | Information sur le nom de la machine du client. |
| HTTP_REFERER | URL de la page ayant mené à la présente page via un lien hypertexte. |
| HTTP_USER_AGENT | Chaîne donnant des informations sur le client, comme le nom et la version du navigateur, et éventuellement le système d’exploitation. |
| HTTPS | Indique si le client est en connexion sécurisée ou non (la valeur est ON ou OFF). |
| REFERER | URL du lien à partir duquel la requête a été effectuée. |
| REMOTE_ADDR | Adresse IP du client. |
| REMOTE_HOST | Nom de la machine du client. |
| REQUEST_METHOD | Type de méthode utilisée par le client (i.e. POST ou GET). |
| SCRIPT_NAME | Chemin relatif du script en cours d’exécution (par rapport à la racine du serveur web). |
| SERVER_PROTOCOL | Version du protocole HTTP utilisé par le serveur. |
|
23 March 2011 | Telechargements : [1286] | 0
AutoFormations.com
Advertisement
Partenaires
Top membres
{top}
Tags
Annonce
� 2007-2011 AutoFormations.com | Abuse email: AutoFormations@gmail.com | Designed by JavaX36
|

