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 :

Connection sur un site


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 95
    Points : 46
    Points
    46
    Par défaut Connection sur un site
    Bonjour, je developpe une application JAVA, je je voudrais lire un fichier se situant sur un site, mais pour lire ce fichier je dois m authentifié sur le site.
    Je ne sais pas comment faire,
    ENvoyer des données par méthodes POST a la page d authentification ( je ne sias pas comment fdaire) ou autre chose?

    Merci

  2. #2
    Membre confirmé Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Points : 510
    Points
    510
    Par défaut
    Ben donne nous le login et le mot de passe on te dira comment faire !



    Bon... je plaisante... je m'amuse...

    La solution dépend beaucoup du mode d'authentification ; si c'est du http, il y a moyen de le préciser dans l'url ; si c'est du formulaire, il faut sans doute des cookies, si c'est du https, il faut peut être un certificat, si c'est ceci, il faut cela, etc.

  3. #3
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Je te conseille d'utiliser le package httpclient de jakarta.
    http://jakarta.apache.org/commons/ht...ntication.html

  4. #4
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 95
    Points : 46
    Points
    46
    Par défaut
    En fait c'est sur le site http://heywatch.com/, le login et mot de passe passe par un formulaire. 2 input dont le name est " login " et " password " ( étonnant )

    J'ai trouver ce code sur internet :

    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
     
    	    URL url;
    	    URLConnection urlConn;
    	    DataOutputStream printout;
    	    DataInputStream input;
                // page d authentification
    	    url = new URL ("http://heywatch.com/auth");
    	    // URL connection channel.
    	    urlConn = url.openConnection();
    	    // Let the run-time system (RTS) know that we want input.
    	    urlConn.setDoInput (true);
    	    // Let the RTS know that we want to do output.
    	    urlConn.setDoOutput (true);
    	    // No caching, we want the real thing.
    	    urlConn.setUseCaches (false);
    	    // Specify the content type.
    	    urlConn.setRequestProperty
    	    ("Content-Type", "application/x-www-form-urlencoded");
    	    // Send POST output.
    	    printout = new DataOutputStream (urlConn.getOutputStream ());
    	    String content = "login=" + URLEncoder.encode ("monPseudo") +
    						 "&password=" + URLEncoder.encode ("monMdp");
    	    printout.writeBytes (content);
    	    printout.flush ();
    	    printout.close ();
    	    // Get response data.
    	    input = new DataInputStream (urlConn.getInputStream ());
    	    String str;
    	    while (null != ((str = input.readLine())))
    	    {
                        // affichage dans la console
    		    System.out.println (str);
    	    }
    	    input.close ();
    Au final je me retrouve avec le code de ma page d authentification, alors que j aimerai avoir le code de celle ci, http://heywatch.com/format.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 95
    Points : 46
    Points
    46
    Par défaut
    Je commence a mieux cerner le probleme.
    J'ai utiliser une méthode presente dans la FAQ
    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
     
    	public void doPost(String adresse){
    		   OutputStreamWriter writer = null;
    		   BufferedReader reader = null;
    		   try {
    		     //encodage des paramètres de la requête
    		      String donnees = URLEncoder.encode("login", "UTF-8")+
    		                        "="+URLEncoder.encode("monLogin", "UTF-8");
    		      donnees += "&"+URLEncoder.encode("password", "UTF-8")+
    		                        "=" + URLEncoder.encode("monPass", "UTF-8");
     
    		      //création de la connection
    		      URL url = new URL(adresse);
    		      URLConnection conn = url.openConnection();
    		      conn.setDoOutput(true);
     
    		      //envoi de la requête
    		      writer = new OutputStreamWriter(conn.getOutputStream());
    		      writer.write(donnees);
    		      writer.flush();
     
    		      //lecture de la réponse
    		      reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    		      String ligne;
    		      while ((ligne = reader.readLine()) != null) {
    		         System.out.println(ligne);
    		      }
    		   }catch (Exception e) {
    		      e.printStackTrace();
    		   }finally{
    		      try{writer.close();}catch(Exception e){}
    		      try{reader.close();}catch(Exception e){}
    		   }
    		}
    Le probleme est que je veut acceder a une page mais pour cela il faut que je m identifie, donc logiquement avec cette page je m identifi ( je ne sais pas comment verifier si sa fonctionne). Comment faire pour lire la page d apres ?

  6. #6
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 95
    Points : 46
    Points
    46
    Par défaut
    Personne na d idée?
    En fait je veut acceder a la page 2 mais pour y acceder on me demande de ma loguer. Donc je me logue dans u npremier temps grace a la methode vu plus haut, et apres je relance la méthode mais au lieu de demander la page d authentification de demande la page 2, et la il me redirige vers la page d authentification, car la session n est pas la meme.... comment faire ?

  7. #7
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Regarde avec l'api hhtpclient donnée plus haut tu pourras utiliser la même session pour tes 2 requêtes

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 44
    Points
    44
    Par défaut
    Oui utilise Httpclient, c'est plus approprié.
    La méthode post est toute faite.
    Pour verifier si ta connection a réussie, il faut que tu compare les trames que tu envoie via ton client java et les trames que tu envoie via ton navigateur web.( pour cela utilise un sniffeur réseau genre ethereal ou billsniff)
    De la, tu verras si oui ou non il faut que tu rajoute des entêtes a ta trame de connection, ou non, et tu pourra aussi voir ce que te réponds ton serveur.

Discussions similaires

  1. Comment se connecter sur un site web?
    Par carnifex dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 25/06/2017, 17h00
  2. Facebook connect sur mon site probleme session
    Par dembroski dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 21/01/2010, 11h45
  3. [MySQL] [Demande] Se Connecter sur le site !
    Par dexter74 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/10/2009, 19h58
  4. Se connecter sur un site avec Java
    Par Mithandir dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 30/12/2008, 10h35
  5. Réponses: 2
    Dernier message: 27/04/2007, 13h24

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