Erreur de requete Post avec HttpClient

Erreur de requete Post avec HttpClient - Java - Programmation

Marsh Posté le 08-02-2010 à 01:29:32    

Bonjour à tous !
 
J'ai trouvé ici, un code source montrant comment utiliser HttpClient pour effectuer une requête Post et récupérer la réponse.
 
Je l'ai testé, il fonctionne. Je l'ai également un peu modifié (surtout commenté) et je me suis créé un petit formulaire de test. Et avec mon formulaire, ça ne fonctionne pas !
 
Voici mon code :
 

Code :
  1. import org.apache.commons.httpclient.HttpClient;
  2. import org.apache.commons.httpclient.methods.PostMethod;
  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5. public class Test1 {
  6.   public static void main(String args[]) {
  7.     // On cree le client
  8.  HttpClient client = new HttpClient();
  9.  // On indique un nom d'User-Agent
  10.  client.getParams().setParameter("http.useragent", "Test Client" );
  11.  // Le HTTPMethod qui sera un Post en lui indiquant l'URL du formulaire
  12.  PostMethod method = new PostMethod("http://www.pexiweb.be/tmp/tmp/test.html" );
  13.  // On ajoute les parametres du formulaire
  14.  method.addParameter("pseudo", "\"pyo\"" ); // (champs, valeur)
  15.  // Le buffer qui nous servira a recuperer le code de la page
  16.  BufferedReader br = null;
  17.  try
  18.  {
  19.    // http://hc.apache.org/httpclient-3. [...] tatus.html
  20.    int retour = client.executeMethod(method);
  21.    System.out.println("La reponse de executeMethod est : " + retour);
  22.   
  23.    br = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream()));
  24.    String readLine;
  25.    // Tant que la ligne en cours n'est pas vide
  26.    while(((readLine = br.readLine()) != null))
  27.    {
  28.      System.out.println(readLine);
  29.    }
  30.  }
  31.  catch (Exception e)
  32.  {
  33.   System.err.println(e); // erreur possible de executeMethod
  34.  }
  35.  finally
  36.  {
  37.   // On ferme la connexion
  38.   method.releaseConnection();
  39.   if(br != null)
  40.   {
  41.    try
  42.       {
  43.     br.close(); // on ferme le buffer  
  44.       }
  45.       catch (Exception e) { /* on fait rien */ }
  46.   }
  47.  }
  48.   }
  49. }


 
Vous trouverez le code de mon formulaire en affichant le code source de ma page : http://www.pexiweb.be/tmp/tmp/test.html
 
Quelqu'un aurait une idée ?
 
Quelque chose qui pourrait être lié (mais je vois pas comment résoudre) : lorsqu'on teste 'http://search.yahoo.com/search' dans son navigateur, on est redirigé vers 'http://search.yahoo.com/web?fr='. Et lorsqu'on teste cette dernière URL dans le programme, cela ne fonctionne plus.
 
Merci d'avance pour votre aide ! :-)


---------------
Pyo
Reply

Marsh Posté le 08-02-2010 à 01:29:32   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed