IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

persistance cookies, plusieurs requettes http


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 186
    Par défaut persistance cookies, plusieurs requettes http
    Bonjour,
    je fais quelques test en ce moment :
    je fais deux requetes get http :

    URL url = new URL("http://www.monsite.com/");
    URLConnection cnx = url.openConnection();

    cette page quand on accédé via navigateur, doit créer un cookie.

    URL url = new URL("http://www.monsite.com/page2/");
    URLConnection cnx = url.openConnection();

    cette page2 se sert du cookie créé lors de la première page pour executer un code php.

    ça marche très bien lorsque j'accède via un navigateur.
    mais lorsque je le fait via mes deux requêtes java, le cookie ne semble pas exister.

    Que faire??

    En espérant avoir bien énoncer mon problème, j'attends des conseil avec impatience.

    merci d'avance

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Ce n'est pas la page qui crée un cookie, c'est le navigateur. Donc, pas de navigateur, plus de cookies.

    Je pense qu'il faut que tu revoyes ta conception...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 186
    Par défaut
    Pourtant lorsque je fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    try {
    	        // Create a URLConnection object for a URL
    	        URL url = new URL("http://www.monsite.com");
    	        URLConnection conn = url.openConnection();
     
    	        // Get all cookies from the server.
    	        // Note: The first call to getHeaderFieldKey() will implicit send
    	        // the HTTP request to the server.
    	        for (int i=0; ; i++) {
    	            String headerName = conn.getHeaderFieldKey(i);
    	            String headerValue = conn.getHeaderField(i);
     
    	            if (headerName == null && headerValue == null) {
    	                // No more headers
    	                break;
    	            }
    	            if ("Set-Cookie".equalsIgnoreCase(headerName)) {
    	                // Parse cookie
    	                String[] fields = headerValue.split(";\\s*");
     
    	                String cookieValue = fields[0];
    	                String expires = null;
    	                String path = null;
    	                String domain = null;
    	                boolean secure = false;
     
    	                // Parse each field
    	                for (int j=1; j<fields.length; j++) {
    	                    if ("secure".equalsIgnoreCase(fields[j])) {
    	                        secure = true;
    	                    } else if (fields[j].indexOf('=') > 0) {
    	                        String[] f = fields[j].split("=");
    	                        if ("expires".equalsIgnoreCase(f[0])) {
    	                            expires = f[1];
    	                        } else if ("domain".equalsIgnoreCase(f[0])) {
    	                            domain = f[1];
    	                        } else if ("path".equalsIgnoreCase(f[0])) {
    	                            path = f[1];
    	                        }
    	                    }
    	                }
     
     
    	            }
    	        }
    	    } catch (MalformedURLException e) {
    	    } catch (IOException e) {
    	    }
    Je trouve bien un cookie...

  4. #4
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Oui, je me suis mal exprimé c'est le serveur qui créé le cookie, pas le navigateur , mais ce dernier le gère, de façon à pouvoir le réutiliser ensuite (le renvoyer vers le serveur, par ex.).

    Donc, j'essaie de reprendre : pas de navigateur, pas de gestion des cookies, et c'est à toi de la faire.

    J'ai bon ?

  5. #5
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 755
    Par défaut
    T'as faux

    En fait depuis java 1.5, les cookies peuvent être gérés sans fouiner dans l'entête HTTP via la classe abstraite CookieHandler
    Et depuis java 1.6, il y a même une implémentation toute faite de cette classe: CookieManager

  6. #6
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Ah c'est exactement ce que je voulais dire il faut utiliser les classes standard du JDK soi même, elles ne s'utilisent pas automatiquement.

    Bon je vais me coucher ça vaudra mieux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [http] perte de requette http après redirection
    Par okoax dans le forum Serveurs (Apache, IIS,...)
    Réponses: 6
    Dernier message: 05/05/2006, 11h31
  2. [Cookies] Cookies plusieurs variables
    Par FoxLeRenard dans le forum Langage
    Réponses: 5
    Dernier message: 21/04/2006, 16h46
  3. Socket, Requette http
    Par zenux dans le forum C++
    Réponses: 19
    Dernier message: 02/03/2006, 23h05
  4. Requette HTTP POST
    Par CrazySeb dans le forum C++
    Réponses: 7
    Dernier message: 25/02/2006, 16h17
  5. [Servlet] requette http et getParameterValues()
    Par Flobel dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 07/01/2005, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo