il peut être intéressant dans un programme Java Se, de savoir effectuer une requête vers le web (en GET ou en POST), voiçi deux petites méthodes tirées de ma classe HttpTools perso qui peuvent vous être utiles :
Appel d’une page en GET :
la méthode s’utilise très simplement :
String retourDeLaPage = get(“http://www.perdu.com”);
Si vous souhaitez ajouter des paramètres, il suffit de les inclure dans l’url (étant donné qu’il s’agit du requête GET) :
String retourDeLaPage = get(“http://www.perdu.com?pseudonyme=Idleman&pasword=danstesreves”);
public static String get(String url) throws IOException{ String source =""; URL oracle = new URL(url); URLConnection yc = oracle.openConnection(); BufferedReader in = new BufferedReader( new InputStreamReader( yc.getInputStream())); String inputLine; while ((inputLine = in.readLine()) != null) source +=inputLine; in.close(); return source; }
Appel d’une page en POST:
public static String post(String adress,List<String> keys,List<String> values) throws IOException{ String result = ""; OutputStreamWriter writer = null; BufferedReader reader = null; try { //encodage des paramètres de la requête String data=""; for(int i=0;i<keys.size();i++){ if (i!=0) data += "&"; data +=URLEncoder.encode(keys.get(i), "UTF-8")+"="+URLEncoder.encode(values.get(i), "UTF-8"); } //création de la connection URL url = new URL(adress); URLConnection conn = url.openConnection(); conn.setDoOutput(true); //envoi de la requête writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(data); writer.flush(); //lecture de la réponse reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String ligne; while ((ligne = reader.readLine()) != null) { result+=ligne; } }catch (Exception e) { e.printStackTrace(); }finally{ try{writer.close();}catch(Exception e){} try{reader.close();}catch(Exception e){} } return result; }
la méthode s’utilise très simplement :
List<String> keys = new ArrayList<String>(); List<String> values= new ArrayList<String>(); keys.add("pseudonyme"); keys.add("password"); values.add("idleman"); values.add("danstesreves"); String retourDeLaPage = post("http://www.perdu.com",keys,values);
Ça peut servir pour la recherche de mise à jour d application en mettant en ligne le numéro de la dernière version et pouvoir faire une comparaison
Tu parle pour andrhome ? Tu en es ou la dessus? Je sais je suis un peu a la traine mais je cherche désespérément du boulot sur bx du coups je suis plus trop concentré sur mes projets ^^
Encore une fois, je tape “POST GET JAVA” dans gOOgle, et paf, second résultat…
Je ne vais pas m’en plaindre 😀
en plus je te dis une bêtise, tu est premier !
Ça dépend aussi de ton historique de navigation, les recherches ne sont pas générique, donc Google à du voir que tu était déjà passé par ici et m’a surclassé en fonction de ton historique (comment ça ça file des frissons leurs recherche personnalisée ? :D).
Mais bon oui je suis content mon pagerank à quand même pas mal enflé ces derniers mois, c’est agréable de savoir son contenu un minimum relayé :p
Bonjour,
ce petit bout de code est intéressant à stocker dans un coin, mais il faudrait rectifier le séparateur des paramètres de & en un simple &, sinon lors d’un request.getParameterMap() ou d’un request.getParameter(key), on aura dans le nom de la clé la fin du sépateur, à savoir “amp;”.