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 :

Se connecter automatiquement à os-commerce


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 12
    Par défaut Se connecter automatiquement à os-commerce
    bonjour,

    Je voudrais pouvoir me connecter automatiquement à la partie 'administration' d'un site 'os-commerce', à partir d'un programme java.

    j'ai donc tapé le code suivant :

    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
    OutputStreamWriter writer = null;
    BufferedReader reader = null;
    try {
      //encodage des paramètres de la requête
      String donnees = 
        URLEncoder.encode("admin_login_name", "UTF-8") +
        "="+URLEncoder.encode("monLogin", "UTF-8");
      donnees += 
        "&" + 
        URLEncoder.encode("admin_login_pass", "UTF-8")+
        "=" +
        URLEncoder.encode("monMDP", "UTF-8");
      donnees += "&" +
        URLEncoder.encode("admin_login_submit", "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();
      ...
    Or, lorsque j'exécute ce code, je suis invariablement redirigé sur la page de connexion, preuve que l'elle n'a pas réussi.

    Quelqu'un peut-il m'aider sur ce point ?

    De plus, je dois ensuite récupérer un identifiant de session, pour effectuer les requetes de mises à jour du site.
    Si quelqu'un peut me renseigner sur ce point-là aussi ?

    merci beaucoup par avance
    alain




    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 73
    Par défaut
    Bonjour,

    Je ne suis pas sur de bien comprendre comment tu essaye de t'y prendre..
    Veux-tu passer tes paramètres en GET ou en POST ?

    Regarde peut-etre la classe HTTPClient...
    Je sais qu'elle a déjà rendu des services à d'autres personnes
    pour des problèmes ressemblant...

    http://jakarta.apache.org/commons/httpclient/

    Cordialement,

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 12
    Par défaut
    Merci pour ta réponse.

    Je suis donc dans une application JAVA (pas une servlet), et je dois mettre à jour une base de données distante accessible uniquement en localhost.

    Comme sa structure est assez complexe, je voudrais simplement simuler d'abord le formulaire (post) d'identification de l'administrateur, et récupérer l'identifiant de la session.

    Cet identifiant de session devrait me permettre d'avoir accès à la mise à jour de la base de données du site, en simulant à nouveau le remplissage des formulaires php d'administration du site, ce qui permettrait de modifier la base avec la procédure déjà en place.

    Je peux tout à fait ajouter des pages en php sur le site (j'ai tous les droits), mais je pense qu'il serait beaucoup moins risqué, et certainement plus rapide et simple à programmer, de simuler l'envoi d'un formulaire, car la base os-commerce est très complexe.

    merci d'avance
    alain

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 73
    Par défaut
    Regarde :

    http://jakarta.apache.org/commons/httpclient/methods/post.html

    Je pense que cette classe est ta réponse.
    Je l'ai utilisé pour appeler une page en méthode GET

    Cette classe est apprprié pour une application Java.

    Cordialement,

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 12
    Par défaut
    désolé de revenir encore.

    merci pour ton aide.

    je n'arrive pas à trouver comment télécharger HttpClient, et encore moins la doc de cette classe.

    quelqu'un pourrait-il m('aider ?

    merci d'avance.
    alain

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 73
    Par défaut
    Pour le download :

    http://jakarta.apache.org/commons/httpclient/downloads.html

    Choisis les binary de la 2.0.2 qui semble etre la dernière version stable.

    Pour la docs, essaye :
    http://jakarta.apache.org/commons/httpclient/tutorial.html

    Sinon les docs sont les liens dans la partie gauche qui commence à 'User Guide'
    Et puis je crois qu'il y a un peu de docs dans le fichier de download...

    J'espère que tu n'as pas trop de mal avec la langue anglaise...

    Cordialement,

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 12
    Par défaut
    bonjour

    Je dois vraiment être un gros boulet, mais j'ai encore des problèmes :

    j'ai téléchargé un jar contenant httpClient. D'abord la version 2, mais elle ne possêdait pas la méthode setRequestBody.
    J'ai ensuite téléchargé la version 3, qui elle contient la méthode setRequestBody.

    A l'exécution, j'obtiens le message d'erreur :
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

    Je pense qu'il me manque donc quelque chose. n'y a-t-il pas une endroit ou l'on puisse télécharger tout le pack httpClient au complet et en une seule fois, et qui fonctionne ?

    Bon, je suis archi-nul en anglais. j'arrive à comprendre quelques bribes, mais pas grand-chose. Alors peut-être je me dirige mal pour télécharger, en suivant le lien que tu m'avais indiqué ?

    merci beaucoup
    a+
    alain

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 73
    Par défaut
    Bonjour,

    Il te faut la librairie Logging :
    http://jakarta.apache.org/commons/logging/

    que tu peux télécharger à :
    http://cvs.apache.org/dist/jakarta/commons/logging/

    Perso, les .JAR dont j'ai eu besoin sont :
    - commons-httpclient-2.0.2.jar
    - commons-logging.jar
    - commons-logging-api.jar

    Cordialement,

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 12
    Par défaut
    Bon, eh bien je te remercie pour tout.

    j'ai téléchargé la librairie logging, j'ai obtenu encore une exception : org/apache/commons/codec/DecoderException.

    J'ai téléchargé la librairie codec, et je n'ai plus d'exception.

    je vais maintenant pouvoir essayer de résoudre mon problème de connexion et de récupération de l'identifiant de session avec ces outils.

    un grand merci, donc !
    a+
    alain

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 73
    Par défaut
    N'oublie pas le tag [Résolu], si ton problème est résolu...

    Merci,

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 12
    Par défaut
    Eh bien il semble ne me rester qu'un problème à résoudre (pour l'instant).

    J'ai autorisé les redirections, et j'obtiens une exception :

    java.lang.IllegalArgumentException: Entity enclosing requests cannot be redirected without user intervention
    at org.apache.commons.httpclient.methods.EntityEnclosingMethod.setFollowRedirects(EntityEnclosingMethod.java:217)
    at connexionPHP.ConnexionPHP.poste(ConnexionPHP.java:52)
    at connexionPHP.ConnexionPHP.main(ConnexionPHP.java:186)

    Sinon, le principal problème est effectivement résolu.
    Merci beaucoup pour ton aide
    alain

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 73
    Par défaut
    * En regardant le doc, j'ai trouvé çà :
    http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/methods/EntityEnclosingMethod.html#setFollowRedirects(boolean)
    et
    http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/methods/EntityEnclosingMethod.html#getFollowRedirects()
    ==> followRedirects doit toujours être à false à cause de RFC 2616 et getFollowRedirects() ne retourne que false
    Et PostMethod hérite de EntityEnclosingMethod donc pas de redirection avec setFollowRedirects(boolean)

    * Sinon si tu as besoin de gérer des redirections, regarde peut-etre aussi çà :
    http://jakarta.apache.org/commons/httpclient/redirects.html

    Je crois que c'est l'exemple qui est à cette page là qui est le plus parlant...

    Cordialement,

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

Discussions similaires

  1. Login/Mot de passe et récupération des infos pour connection automatique
    Par kitesilver dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 07/06/2007, 14h51
  2. Connecter automatiquement une imprimante réseau disponible sur un domaine
    Par NicolasJolet dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 17/10/2006, 16h11
  3. Connection automatique dvp.com
    Par ArHacKnIdE dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 19/03/2006, 15h52
  4. [Login] Se connecter automatiquement à chaque visite????
    Par AdHoc dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 8
    Dernier message: 01/12/2005, 16h36
  5. Wifi Connection automatique au démarrage du PC
    Par mathieu dans le forum Réseau
    Réponses: 7
    Dernier message: 30/08/2004, 09h14

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