Bonjour à tous !
Voilà je souhaiterais envoyer un tableau par requête POST en java.
En parcourant la FAQ je suis tombé sur ceci expliquant comment réaliser une requête POST en Java ce qui répondait à mon problème.
J'ai juste un petit soucis c'est que la solution proposée correspondrait à un formulaire avec les paramètres suivants : {"clefA" => "valeurDeClefA", "clefB" => "valeurDeClefB"}.
Or j'ai un formulaire avec les paramètres suivants : {"clefC" => {"clefA" => "valeurDeClefA", "clefB" => "valeurDeClefB"}}.
J'ai essayé naïvement le code suivant :
Sans succès...
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
24
25
26
27
28
29
30
31
32
33 public void doPost(String adresse){ OutputStreamWriter writer = null; BufferedReader reader = null; try { //encodage des paramètres de la requête //Il n'y a que cette partie qui diffère de la FAQ String donnees = URLEncoder.encode("clefC", "UTF-8") + "={" + URLEncoder.encode("clefA", "UTF-8") + "=" + URLEncoder.encode("valeurDeClefA", "UTF-8") + "&" + URLEncoder.encode("clefB", "UTF-8") + "=" + URLEncoder.encode("valeurDeClefB", "UTF-8") + "}"; //création de la connection URL url = new URL(adresse); URLConnection conn = url.openConnection(); conn.setDoOutput(true); //envoi de la requête writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(donnees); writer.flush(); //lecture de la réponse reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String ligne; while ((ligne = reader.readLine()) != null) { System.out.println(ligne); } }catch (Exception e) { e.printStackTrace(); }finally{ try{writer.close();}catch(Exception e){} try{reader.close();}catch(Exception e){} } }
Ma question est donc la suivante, comment faire passer un tableau dans une requête POST en Java ?
Merci d'avance.
Partager