Je développe une application Android et un serveur en Java. L'application serveur s'exécute sur Jetty. L'application Android est émulée sur le même ordinateur.La requête POST devient GET
L'application Android envoie une requête POST au serveur, mais le gestionnaire du serveur l'interprète comme un GET.
Lorsque j'utilise Envoyer l'outil HTTP pour simuler une requête POST, cela fonctionne parfaitement (je veux dire le type de la méthode est POST).
C'est le code fragment de l'application Android:
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(),
10000); // Timeout Limit
HttpResponse response;
// Create message
JSONObject json = new JSONObject();
json.put("request_type", "info");
json.put("user_name", mEmail);
// Send message and get response
StringEntity se = new StringEntity(json.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
HttpPost post = new HttpPost("http://10.0.2.2:8080/app");
post.setEntity(se);
post.setHeader("Accept", "application/json");
post.setHeader("Content-Type", "application/json; charset=UTF-8");
response = client.execute(post);
Et ceci est le code du gestionnaire:
public void handle(String target, Request baseRequest,
HttpServletRequest request, HttpServletResponse response) {
System.out.println(request.getMethod());
}
Je ne sais pas ce qui pourrait être un problème, comme Je pense que si j'utilise HttpPost, le type de méthode devrait être POST.
Qu'est-ce 'postGetSalt'? –
C'est le nom original de la variable "post". Je l'ai changé, mais malheureusement pas partout. J'ai corrigé. – szedjani