Bonjour,

Je n'arrive pas a comprendre comment envoyer un json dans l'url avec la méthode POST .
Je n'ais pas de problèmes avec une string classique mais pour une String json ( de ce format : {"nom":"dow","prenom":"john"} ) l'url n'envoie rien à part ce qui précède le json ..

voilà ce qui est envoyé : http://exemple.com/exemple1/inscription?json= (dans les logs je vois bien mon json a coté de l'url mais il n'est pas pris en compte dans celle ci ..)

voilà ce que je veux envoyer : http://exemple.com/exemple1/inscription?json={"nom":"dow","prenom":"john"}

voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
String data = "inscription?" + "json"
                    + "=" + json_gen; // json_gen est de type JSONObject
            System.out.println(data);
            String addr = "http://exemple.com/exemple1/app/" + data; //l'url est a titre indicatif ce n'est pas la vrai
            addr.replaceAll(" ", "%20");
            URL url = new URL(addr);
 
            HttpURLConnection co = (HttpURLConnection) url.openConnection();
            co.setDoInput(true);
            co.setDoOutput(true);
            co.setRequestMethod("POST");
            co.addRequestProperty("Accept", "application/json");
            co.addRequestProperty("Content-Type", "application/json");
            System.out.println("co :: " + co);
            co.setReadTimeout(10000);
            co.setConnectTimeout(15000);
            co.connect();
 
            // Ces quatre lignes ont elles vraiment un effet ...?
            DataOutputStream printout = new DataOutputStream(co.getOutputStream());  
            printout.writeBytes(URLEncoder.encode(json_gen.toString(), "UTF-8"));
            printout.flush();
            printout.close();
Merci pour votre aide