commande curl data encode en Java
bonjour à tous,
je souhaite accéder à une API REST qui permet de récupérer un objet sauvegardé. voici la commande CURL:
Code:
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:
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:
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....