Logo du forum
 

Forum TTH-News

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [Java] » Soumettre des formulaires HTML via un client java
Login Mot de passe

2 visiteurs sur ce topic (0 membre(s), 2 invité(s) )


Auteur
Sujet : Soumettre des formulaires HTML via un client java
boubavic
Vétéran
Membre # 10228

 Avatar du membre
Lieu : Boulogne Billancourt

Messages :
3991 (0.76 par jour)


Score :

Message du 06-01-2010 @ 17:06      Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


Hello à tous,

je souhaiterai réaliser un programme en JAVA qui me permettrait de saisir automatiquement des formulaires WEB (genre login/mdp, case à cocher par exemple) et le soumettre au serveur WEB.

Aujourd'hui j'arrive bien a récupérer des données via une adresse HTTP, j'arrive à soumettre des données mais par lorsqu'elles ont un rapport avec un formulaire.

J'utilise pour le moment les classes URL standard de java ou HttpClient d'apache.

J'ai vu pas mal de choses sur Internet mais je n'ai pas réussi à faire fonctionner les propositions faites.

J'ai par exemple essayer de lancer une recherche google et de recupérer le résultat mais ce n'est pas possible que ce soit en GET ou en POST.

Auriez vous des idées ?

Code :


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.security.Security;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.httpclient.params.HttpParams;


public class HTTPClientApache {
    public static void main(String args[]) {
       HttpClient client = new HttpClient();

       BufferedReader br = null;

       PostMethod method = new PostMethod("monlien");
       method.addParameter("user","toto");
       method.addParameter("pass", "tata");

       try{
       int returnCode = client.executeMethod(method);

       if(returnCode == HttpStatus.SC_NOT_IMPLEMENTED) {
       System.err.println("The Post method is not implemented by this URI");
       // still consume the response body
       method.getResponseBodyAsString();
       } else {
       br = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream()));
       String readLine;
       while(((readLine = br.readLine()) != null)) {
       System.out.println(readLine);
       }
      
      
       }
       } catch (Exception e) {
       e.printStackTrace();
       } finally {
       method.releaseConnection();
       if(br != null) try { br.close(); } catch (Exception fe) {}
       }

       }
      }




Jusqu'à présent le retour ne m'envoie que la page chargée initialement et non le resultat (après connexion par exemple)

- Haut de page -
icy
Administrateur
Membre # 871

 Avatar du membre
Lieu : Bxl

Messages :
23209 (3.74 par jour)


Score :

Message du 06-01-2010 @ 18:05   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

tu veux faire un bot ou quoi :lol:
pas trop le temps today de regarder, demain peut etre ...
----------
"May He touch you with His Noodly Appendage"
- Haut de page -
boubavic
Vétéran
Membre # 10228

 Avatar du membre
Lieu : Boulogne Billancourt

Messages :
3991 (0.76 par jour)


Score :

Message du 06-01-2010 @ 18:19   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

icy a écrit

tu veux faire un bot ou quoi :lol:
pas trop le temps today de regarder, demain peut etre ...



c'est un peu l'idée oui :) Ce que je souhaite faire c'est pouvoir récupérer automatiquement des fichiers sur internet (des prix, des courbes etc.)

Sachant que parfois c'est juste un lien direct vers le fichier et parfois c'est plus complexe car il faut s'authentifier, ou valider un disclaimer etc.
- Haut de page -
icy
Administrateur
Membre # 871

 Avatar du membre
Lieu : Bxl

Messages :
23209 (3.74 par jour)


Score :

Message du 06-01-2010 @ 18:37   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

ai fait un test et ca marche ss pbm chez moi
j'ai testé agec yahoo :

Code :

    PostMethod method = new PostMethod("http://search.yahoo.com/search");
    method.addParameter("p", "\"tt-hardware\"");


----------
"May He touch you with His Noodly Appendage"
- Haut de page -
boubavic
Vétéran
Membre # 10228

 Avatar du membre
Lieu : Boulogne Billancourt

Messages :
3991 (0.76 par jour)


Score :

Message du 06-01-2010 @ 21:16   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

bouarf je vais retester quand je serai au taff ... peut etre que ca vient des sites sur lesquels j'ai testé...

merci d'avoir pris le temps de faire un test :)

[message édité le 06-01-2010 @ 21:17 Par boubavic]
- Haut de page -
boubavic
Vétéran
Membre # 10228

 Avatar du membre
Lieu : Boulogne Billancourt

Messages :
3991 (0.76 par jour)


Score :

Message du 07-01-2010 @ 9:52   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

bon c'est bien ce que je pensais ca dépend vraiment des sites... par exemple je ne parviens pas avec la même méthode à m'authentifier sur tth
- Haut de page -


Aller dans le forum :  

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2010

Valid XHTML 1.0 Transitional

Page générée en 0.039 secondes