Partage
  • Partager sur Facebook
  • Partager sur Twitter

HTTPClient - Requêtes POST

    22 mai 2012 à 19:39:20

    Bonjour,
    Dans le but de faire un petit logiciel pour automatiser des taches, et aussi à but pédagogique, j'ai utilisé la librairie d'Apache HTTPClient.
    J'ai réussi sur certains sites, à envoyer des requètes post et à obtenir le code source de la page de réponse sans aucun soucis.
    Cependant, pour d'autres formulaires, en réponse à ma requête post, j'obtiens toujours la page d'origine, sans aucun message. Alors qu'à la main, j'obtiens des pages d'erreurs ou autre, en fonction des données entrées.
    J'ai mené ma petite enquête, et je n'ai plus d'idées vers ou chercher. J'ai comparé les requètes post envoyées à la main, ou avec le logiciel, les données ne sont pas altérées par du javascript au moment de l'envoi.
    Je vous donne le code simplifié que j'utilise:

    client = new DefaultHttpClient();		
    client.getParams().setParameter("http.useragent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0");
    HttpPost post = new HttpPost("http://www.XXXXX.com/?a=inscription");
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
    nameValuePairs.add(new BasicNameValuePair("pseudo", pseudo));
    nameValuePairs.add(new BasicNameValuePair("pass", mdp));
    nameValuePairs.add(new BasicNameValuePair("naissance", ""));
    nameValuePairs.add(new BasicNameValuePair("email", pseudo+ "@hotmail.fr"));
    nameValuePairs.add(new BasicNameValuePair("reglement", "1"));
    post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    	
    HttpResponse response = this.client.execute(post);
    HttpEntity entity = response.getEntity();
    if (entity != null) {
    	boolean ok=false;
    	InputStream instream = entity.getContent();
    	@SuppressWarnings("unused")
    	int l;
    	String str="";
    	byte[] tmp = new byte[2048];
    	while ((l = instream.read(tmp)) != -1) {
    		String t = new String( tmp , "Cp1252" );
    		str=str+t;
    	}
    	System.out.println(str);
    }
    


    Avez-vous des idées afin de m'orienter?
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      23 mai 2012 à 20:59:15

      Et du coté des cookies? tu renvoies tout?
      • Partager sur Facebook
      • Partager sur Twitter
        24 mai 2012 à 17:42:15

        A part des cookies qui sont en rapport avec google analitics, ils sont tous renvoyés
        • Partager sur Facebook
        • Partager sur Twitter
          26 mai 2012 à 16:54:57

          Des idées?

          (Juste des pistes suffiront, c'est peut être juste une erreur de ma part, ou un truc évident qui me saute pas aux yeux)
          • Partager sur Facebook
          • Partager sur Twitter

          HTTPClient - Requêtes POST

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown