Rozwijam aplikację Android i serwer w Javie. Aplikacja serwera działa na pomoście. Aplikacja na Androida jest emulowana na tym samym komputerze.Żądanie POST staje się GET
Aplikacja dla systemu Android wysyła żądanie POST na serwer, ale program obsługi serwera interpretuje go jako pobranie.
Kiedy używam Wysyłaj narzędzie HTTP do symulacji żądania POST, działa idealnie (mam na myśli typ metody POST).
Jest to kod-fragment Android aplikacji:
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);
I to jest kod obsługi:
public void handle(String target, Request baseRequest,
HttpServletRequest request, HttpServletResponse response) {
System.out.println(request.getMethod());
}
nie wiem, co może być problemem, jak Myślę, że jeśli używam HttpPost, typem metody powinien być POST.
Co jest 'postGetSalt'? –
To jest oryginalna nazwa zmiennej "post". Zmieniłem go, ale niestety nie wszędzie. Poprawiłem. – szedjani