VB.net : lire les cookies

speyrard Messages postés 19 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 3 mars 2012 - 12 avril 2010 à 12:02
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 13 avril 2010 à 16:21
Bonjour,

Mon appli VB.net a besoin de lire les cookies.
Ca fait 2 jours que je planche sur le sujet que j'essaie des solutions postés ou regarde du code mais je n'y arrive pas. Je ne sais plus ou chercher !

J'ai essayé des trucs autour de
Dim cookie As HttpCookie = Request.Cookies("toto")
If cookie IsNot Nothing Then
dim t as string = cookie.Value
End If

Le problème c'est que Request : Vb.net, il ne connait pas alors que j'ai référencé system.web, system.net dans le projet + en imports dans le code (des fois que la référence ne suffirait pas :( )

Je n'ai pas d'erreur si je remplace par System.Web.HttpContext.Current.Request.Cookies("toto") mais qd j'execute : il me dit que la valeur est null et il ne peut resoudre

J'ai essayé d'autres méthodes mais c'est celle-ci qui me semble la plus proche ... mais a force d'être dessus, je dois pas voir le truc que je manque

Par avance Merci

16 réponses

lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
12 avril 2010 à 12:33
Bonjour,

Je n'ai jamais fait de programmation web avec vb.net, mais je sais que les cookies sont propres à chaque navigateurs.
Apparemment, tu n'as pas du créer de cookie nommé toto dans ton appli avant de consulter son contenu.

Bonne Prog
0
speyrard Messages postés 19 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 3 mars 2012
12 avril 2010 à 13:43
Oui, les cookies sont effectivement propres à chaque navigateur et il est possible qu'il soit nécessaire d'un paramètre pour indiquer le navigateur... (j'ai essayé avec un exemple sur IE mais sans plus de succès)

Mon Cookie est bien créé (il est utilisé par ailleurs sur le site Web) donc le pb ne vient pas de là.

Je ne sais pas si j'ai été clair dans l'énoncé mais je souhaite lire les cookies sur mon pc pour les utiliser dans Vb.net (comme paramètres). Je be veux pas les créer/supprimer
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
12 avril 2010 à 14:05
Bonjour,

Je ne voudrais pas raconter de bêtises, mais il y a quelques temps j'avais remarqué que lesdits cookies étaient en fait des fichiers texte.

Peut-être pourrais-tu les ouvrir comme tels ?
Je viens de vérifier, ils ont même l'extension .TXT et ce que ton navigateur soit IE ou Firefox.

Calade
0
speyrard Messages postés 19 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 3 mars 2012
12 avril 2010 à 14:41
C'est vrai Calade
Tu as raison, ce ne sont que des fichiers texte... Il doit y avoir plus simple avec une lecture "bête et méchante" des cookies

Y'a lpus qu'a déterminer le navigateur utilisé et le repertoire ou ils sont stockés : ca devrait pas être difficile ...

Merci pour cette piste

Je vais regarder ca plus tard
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
12 avril 2010 à 15:33
Pour le répertoire, ils sont ici:

C:\Documents and Settings\ton_login\Cookies

et je ne suis pas persuadé que le navigateur ait quelque chose à voir, seul le site qui l'y a déposé en est bien sur "responsable".

Calade
0
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
12 avril 2010 à 17:05
Les cookies de Firefox sont rangé dans : C:\Users\login\AppData\Roaming\Mozilla\Firefox\Profiles\NUMPROFILE.default\cookies.sqlite


Donc je pense qu'ils sont bien attaché a un navigateur (faites le test de vous logué sur un site avec IE puis ensuite avec FF). De plus ils ne sont pas forcément au format texte. La preuve en est, FF stocke ses cookie au format bbd sqlite depuis la version 3.0 si je ne dis pas de bêtise.

Que veux tu faire? lire les cookies d'un navigateur? Dans ce cas lequel?
Sinon il faut surement que tu stockes tes cookies avec une méthode dans ton appli.


Bonne Prog
0
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
12 avril 2010 à 17:06
Le chemin que je vous ai donner pour les cookies de FF est le chemin sur vista, mais je suis quasi sûr que le chemin pour XP doit être à peu près le même

Bonne Prog
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
13 avril 2010 à 07:55
Bonjour,

Au vu de ce que tu dis lesdis, le dossier de stockage dépend de l'OS utilisé (ce qui est logique). En ce qui me concerne j'en suis encore à XP SP3 et les cookies sont stockés en TXT. Est-ce que cela aussi dépend de l'OS ?


Calade
0
speyrard Messages postés 19 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 3 mars 2012
13 avril 2010 à 11:35
Merci pour vos retours.

Je pensais que les cookies seraient plus simple à lire et je n'avais que des cookies txt pour IE et FF (en XP). Mais la du coup c'est plus compliqué.

En fait, je ne souhaite pas lire tout les cookies mais juste certains précisément qui servent de paramètres à mon appli.
Je vais peut-être reprendre le problème depuis le début en donnant tout les éléments du problème :
J'ai une appli qui est composé de 2 éléments :
- une partie web pour faire le paramétrage
- une partie appli batch VB.net qui est exécuté via un lien sous IE

Le problème, c'est que mon appli batch à des paramètres et si dans ma page Web, je fais un lien uniquement sur mon_appli.exe : elle se lance sans les paramètres par contre si dans ma page Web je fais le lien sur mon_appli.exe param1 param2 => IE ne connait pas le lien
J'ai pas réussi à trouver une solution sur la partie Web donc je me suis dis je vais récupérer mes param. via des cookies (utilisée pour ce connecter à l'appli Web).
Voilà ou j'en suis aujourd'hui ...
Je n'ai pas eu d'idée lumineuse pour résoudre le problème ...
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
13 avril 2010 à 13:51
Si j'ai bien compris, tu souhaites lancer une appli Windows VB dont le paramétrage aura été effectué au préalable par une appli Internet.

Ne serait-il pas plus simple alors de créer un fichier TXT dans un répertoire donné et de s'appuyer dessus. Là ce ne serait plus un cookie, mais un simple fichier de config comme les .INI du temps de Win 3.x.

Sous réserve que cela soit possible, je ne connais rien à la programmation web.


Calade
0
speyrard Messages postés 19 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 3 mars 2012
13 avril 2010 à 14:21
Tu as raison !!!!

Je me complique la vie : c'est plus simple comme ca ... mais pkoi, je n'y ai pas pensé plus tôt !!!

Merci Calade
0
speyrard Messages postés 19 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 3 mars 2012
13 avril 2010 à 15:09
Aie, aie, je réponds avant d'avoir réfléchit 2 mn !!!

Je ne peux pas copier en local des fichiers textes : c'est pour ca que je passais par les cookies.
Via mon intranet, je ne peux créer que des fichiers sur mon serveur : ce n'est pas ce que je souhaite car 2 utilisateurs pourront en même temps faire la même action (les fichiers ini vont se faire concurrence)

Alors qu'avec les cookies, je ne me pose pas de question ...

Encore raté
0
speyrard Messages postés 19 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 3 mars 2012
13 avril 2010 à 15:29
Du coup, je reviens à ma question initiale : comment peux t'on lire un cookie (I.E. par exemple) en VB.net
0
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
13 avril 2010 à 15:42
Comment executes tu ton application depuis IE?
D'après ce que j'ai trouvé ici:

<script language="JavaScript" type="text/javascript">
<!--
function execAppli(app)
{
var wshShell = new ActiveXObject("WScript.Shell");
wshShell.Run(app+".exe", 1, true);
}
-->
</script> 


Un petit tour dans la msdn ici et l'on voit que l'on peut rajouter des paramètres à passer à l'application.

Pour récupérer la ligne de commande en VB6, ici, on voit qu'il faut utiliser la fonction Command qui renvois tous dans une seule chaîne de caractère.

Il ne suffit plus qu'à parser cette chaîne pour ressortir les informations voulues.

Bonne Prog
0
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
13 avril 2010 à 16:03
Sinon pour les cookies IE sous vista/seven, voici un lien qui donne le chemin : http://www.winvistaclub.com/f24.html
Impossible de voir le répertoire Cookies dans l'explorer windows, il faut mettre le chemin à la main pour y accéder.

Pour le format des cookies IE, apparemment la description se trouve ici, mais je n'est pas trouvé de correspondance avec ceux présent sur mon pc. Peut-être qu'en cherchant mieux, il est possible de trouver une meilleure description

Bonne Prog
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
13 avril 2010 à 16:21
Si, on peut voir le dossier des cookies dans l'explorateur. Ils sont cachés par défaut mais la manip' pour les afficher est indiqué dans le 1er lien indiqué par lesdis.


Calade
0
Rejoignez-nous