bonjour à tous,

je souhaite accéder à une API REST qui permet de récupérer un objet sauvegardé. voici la commande CURL:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
curl -X GET \
  -H "X-Parse-Application-Id: 1234" \
  -H "X-Parse-REST-API-Key: abdhchc" \
  -G \
  --data-urlencode 'where={"playerName":"Sean Plott","cheatMode":false}' \
  https://api.parse.com/1/classes/GameScore
j'arrive bien à accéder à cette API REST mais je n'arrive pas à implémenter le --data-urlencode en Java...

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
 
URL url = new URL("https://api.parse.com/1/classes/toto");
					HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
 
					conn.setDoOutput(true);
					conn.setRequestMethod("GET");
					conn.setRequestProperty("Content-Type", "application/json");
					conn.setRequestProperty("X-Parse-Application-Id","1234");
					conn.setRequestProperty("X-Parse-REST-API-Key","abdhchc");
 
					String encoded = URLEncoder.encode( input , HTTP.UTF_8);
 
					OutputStream os = conn.getOutputStream();
 
					os.write(encoded.getBytes());
					os.flush();
 
					if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
						throw new RuntimeException("Failed : HTTP error code : "
							+ conn.getResponseCode());
					}
j'ai tenté de rajouter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
mais j'ai toujours le même résultat, la commande me renvoit un HTTP 400....

pourriez vous m'indiquer comment implémenter ce fameux --data-urlencode en java ?

Merci !
Tiamat.

PS: ça marche bien en GET et en POST mais sans data-urlencode....donc je présume que ça vient d'un problème d'encodage de mes data....