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 :

httpclient : Problème de cookie de session


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Par défaut httpclient : Problème de cookie de session
    Bonjour à tous,

    J'ai commencé hier soir à développer un petit programme en Java pour pouvoir me connecter à un site puis d'y récupérer des informations.

    La phase d'identification sur le site semble bien se passer et je récupère bien le cookie de session associé.

    A l'étape suivante, j'effectue une requête de type GET pour récupérer le code source d'une page du site sur lequel je viens de me connecter. Mais là problème, le site me demande de me reconnecter alors que je lui fournis bien le cookie de session.

    J'ai essayé de trouver une solution sur le net mais j'ai pas trouvé grand chose qui pourrait me permettre de régler ce problème.

    Voici le code Java (désolé pour la propreté du code mais c'est du rapide) :

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    public static void main(String args[]) {
     
    		HttpResponse r;
    		int nbRow;
     
        	/*CONNEXION COMPTE USER*/
     
    		//Création du client et ajout des paramètres du formulaire
    		DefaultHttpClient client = new DefaultHttpClient();
          	client.getParams().setParameter("email", email);
        	client.getParams().setParameter("password", password);  	
     
        	//Exécution du formulaire en méthode POST
    		try {
    			r = client.execute(new HttpPost(url));
    			System.out.println("CONNEXION COMPTE USER");
    			System.out.println(client.getCookieStore());
                            System.out.println("-------------------------");
    			System.out.println(r.getStatusLine());
    			System.out.println("-------------------------");
    			BufferedReader br = new BufferedReader(new InputStreamReader(r.getEntity().getContent()));
    			nbRow = 0;
    			while(((br.readLine()) != null))	{
    				nbRow++;				
    			}
    			br.close();
    			System.out.println(nbRow);
                            System.out.println("");
    			System.out.println("-------------------------");
     
    		} catch (ClientProtocolException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
     
    		/*AFFICHAGE LISTE INFORMATIONS*/
    		try {
    			r = client.execute(new HttpGet(urlCheck));
    			System.out.println("AFFICHAGE INFORMATIONS");
    			System.out.println(client.getCookieStore());
                            System.out.println("-------------------------");
    			System.out.println(r.getStatusLine());
    			System.out.println("-------------------------");	
    			BufferedReader br = new BufferedReader(new InputStreamReader(r.getEntity().getContent()));
    			String readLine = "";
    			nbRow = 0;
    			while(((readLine = br.readLine()) != null))	{
    				nbRow++;
    				//System.out.println(readLine);
    			}
    			br.close();
    			System.out.println(nbRow);
    			System.out.println("-------------------------");
     
    		} catch (ClientProtocolException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		} catch (IOException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
        }

    La console m'affiche ceci :

    CONNEXION COMPTE USER
    [[version: 0][name: x_session][value: a%3A4%3A%19s%3A10%3A%22session_id%22%1As%3A32%3A%
    2206c347a7d843b029a1976cfa8141ce73%22%3Bs%3A10%3A%22
    ip_address%22%3Bs%3A11%19%2210.18.5.254%22%3Bs%3A10%3A
    %22user_agent%22%3Bs%3A34%3A%22Apache-HttpClient%2F4.1.2+%28java+1.5%29%22%3Cs%3A13%3A%22
    last_activity%22%3Bs%3B10%3A%221322677361%22%3B%7D82
    7a1dcc6faac50d4916e43278fecc00][domain: .x.com][path: /]
    [expiry: Thu Dec 01 19:22:41 CET 2011]]
    -------------------------
    HTTP/1.1 200 OK
    -------------------------
    512

    -------------------------
    AFFICHAGE INFORMATIONS
    [[version: 0][name: x_session][value: a%3A4%3A%19s%3A10%3A%22session_id%22%1As%3A32%3A%
    2206c347a7d843b029a1976cfa8141ce73%22%3Bs%3A10%3A%22
    ip_address%22%3Bs%3A11%19%2210.18.5.254%22%3Bs%3A10%3A
    %22user_agent%22%3Bs%3A34%3A%22Apache-HttpClient%2F4.1.2+%28java+1.5%29%22%3Cs%3A13%3A%22
    last_activity%22%3Bs%3B10%3A%221322677361%22%3B%7D82
    7a1dcc6faac50d4916e43278fecc00][domain: .x.com][path: /]
    [expiry: Thu Dec 01 19:22:41 CET 2011]]
    -------------------------
    HTTP/1.1 200 OK
    -------------------------
    515
    -------------------------

    Merci d'avance pour votre aide.

    A+

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Tous les sites sont différents, on va pas deviner ce qu'il a, celui qui t'intéresse.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Par défaut
    Evidemment que chaque site est différent.

    Je pose simplement la question au cas ou quelqu'un aurait une idée vers laquelle orienter ma réflexion car je ne vois pas dans l'immédiat ce qui cloche.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ça va, c'est plutôt ouvert, comme question.

    Tu devrais vérifier ce qui change, quand on donne un bon login et mot de passe, et quand on en donne des mauvais.
    Par exemple, peut-être que tu obtiens un cookie de session dans les deux cas, et que cela ne permet pas de vérifier si la première étape se passe bien ou mal.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Par défaut
    Merci du conseil je vais voir un peu ce qu'il se passe dans ce cas là.

Discussions similaires

  1. HTTPClient problème session et cookie
    Par devilalex505 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 30/08/2011, 18h38
  2. HttpClient - Problème de session
    Par vantom dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 17/01/2009, 12h37
  3. Réponses: 6
    Dernier message: 13/12/2007, 20h18
  4. [Cookies] Problème bizarre avec mes sessions
    Par shelko dans le forum Langage
    Réponses: 3
    Dernier message: 27/08/2007, 15h13
  5. Réponses: 2
    Dernier message: 30/05/2007, 16h08

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