Publicité

/**
* Methode permettant d'envoyer une requete HTTP à une URL en passant par un proxy
* avec des parametres et
* permettant de récupérer le flux de reponse.
*
*@Param String adresse URL distante
*@Param String parametre1
*@Param String parametre2
*/

public void EnvoyerRequetePost(String adresse, String param1, String param2){
   OutputStreamWriter writer = null;
   BufferedReader reader = null;
   try {
 // on precise le nom du proxy utilisé pour se connecter
 // à l'url distante, ainsi que le port.
 Properties prop = System.getProperties();
  prop.put("http.proxyHost","192.168.0.100");
  prop.put("http.proxyPort","80");

      // Constitution de la requete
       //encodage des paramètres de la requête - l'utilisatation de StringBuffres serait plus appropriées
       String donnees = URLEncoder.encode("param1", "UTF-8")+ "="+URLEncoder.encode("valeur1", "UTF-8");
       donnees += "&"+URLEncoder.encode("param2", "UTF-8")+"=" + URLEncoder.encode("valeur2", "UTF-8");

       //création de la connection à l'adresse distante
       URL url = new URL(adresse);
       URLConnection conn = url.openConnection();
       conn.setDoOutput(true);
     
      //envoi de la requête à l'adresse distante
       writer = new OutputStreamWriter(conn.getOutputStream());
       writer.write(donnees);
       writer.flush();

      //lecture de la réponse et ecriture dans la log
        reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String ligne;
        while ((ligne = reader.readLine()) != null) {
         System.out.println(ligne);
        }
   }catch (Exception e) {
      // affichage de la trace en cas d'exception
      e.printStackTrace();
   }finally{
      try{
  writer.close();
  }
      catch(Exception e){}
      try{
  reader.close();
         }
      catch(Exception e){}
   }
}

Retour à l'accueil
 
 
Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus