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

avec Java Discussion :

Probleme pour remplir un formulaire Web


Sujet :

avec Java

  1. #1
    Membre confirmé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Points : 480
    Points
    480
    Par défaut Probleme pour remplir un formulaire Web
    Bonjour,
    Je recherche à remplir automatiquement un formulaire Web .
    Je pense avoir reperé les deux champs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input tabindex="12" class="" type="text" id="naf_exp" name="naf_exp"
    pour le code naf et
    <input tabindex="20" class="" type="text" id="geo_exp" name="geo_exp" pour la region
    Je me sert de ce bout de code pour regarder si cela fonctionne mais la recherche ne se fait pas
    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
    private void test(){
        try {
            // Construct data
            String data = URLEncoder.encode("naf_exp", "UTF-8") + "=" + URLEncoder.encode("4321A", "UTF-8");
            data += "&" + URLEncoder.encode("geo_exp", "UTF-8") + "=" + URLEncoder.encode("ALSACE", "UTF-8");
     
            // Send data
            URL url = new URL("http://www.pagespro.com");
            URLConnection conn = url.openConnection();
            conn.setDoOutput(true);
            OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
            wr.write(data);
            wr.flush();
     
            // Get the response
            BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String line;
            while ((line = rd.readLine()) != null) {
                System.out.println(line);
            }
            wr.close();
            rd.close();
        } catch (Exception e) {
        }
    }
    en fait je regarde chaque ligne pour voir si il y a un résultat.
    Si quelqu'un a un début de solution ou d'idée merci.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Hello,

    Ouais, c'est un petit peu plus compliqué que ça quand même -_-°.

    Citation Envoyé par hugoclo Voir le message
    Je pense avoir reperé les deux champs :
    Il n'y a pas à "repérer" quoi que ce soit. Le moniteur de debug réseau de ton navigateur est capable de te dire exactement qu'est-ce qui est envoyé et reçu en faisant la requête.
    Les champs, c'est ceux que tu vois là-dedans. Il semble y en avoir plus de deux, mais je ne sais pas s'ils sont vraiment tous vérifiés.

    Tu peux aussi utiliser un espion réseau comme Wireshark, qui t'indiquera exactement qu'est-ce qui est envoyé de ton ordi vers le serveur. C'est utile pour vérifier ce que ton propre programme envoie, et si ça ressemble à ce qu'un navigateur envoie.

    Citation Envoyé par hugoclo Voir le message
    Je me sert de ce bout de code pour regarder si cela fonctionne mais la recherche ne se fait pas
    Ce même moniteur de debug réseau (ou ce même espion réseau) te signale que la requête :
    - est en POST, pas en GET,
    - est sur "recherche.php", pas sur la racine du site.

    Il va donc falloir adapter ça dans le code. (en plus des champs.)

  3. #3
    Membre confirmé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Points : 480
    Points
    480
    Par défaut
    Merci pour l'aide,
    Aprés avoir découvert la touche F12 de firefox j'ai trouvé la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.pagespro.com/recherche.php?p_ACTION=&p_ORDRE=AfficheRes&a_PAGE=1&a_TAG=&a_OccRecherche=&typeRecherche=express&satellite=naf&a_activ=&a_rai_soc=&a_naf=4321a&a_siren=&a_tel=&a_geo=alsace&typeTri=&ordreTri=&a_session=
    Quand je met ca dans mon navigateur le formulaire apparait rempli par contre ce que je voudrais c'est que le formulaire s’exécute (avoir les résultats de la recherche).
    Voici le code du bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="ValideFormulaire();" class="btn_trouverh" value="" name="trouverh" tabindex="30" id="bouton_trouver_exp">
    .

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

Discussions similaires

  1. [Débutant] probleme pour remplir les champ d un page web
    Par fred92g dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/12/2013, 13h29
  2. Probleme pour remplir un formulaire..
    Par Flow_75 dans le forum C++Builder
    Réponses: 17
    Dernier message: 29/12/2006, 12h59
  3. Réponses: 1
    Dernier message: 11/10/2006, 14h24
  4. [VB.Net] Probleme pour remplir un DropDownList
    Par angelevil dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/03/2005, 17h59
  5. Réponses: 6
    Dernier message: 24/01/2005, 14h12

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