我正在使用Java开发Android和服务器应用程序。
服务器应用程序在Jetty上运行。Android应用程序在同一台计算机上进行仿真。
Android应用程序发送一个POST请求到服务器,但是服务器的处理程序将其解释为GET请求。
当我使用Send HTTP Tool模拟POST请求时,它可以完美地工作(我的意思是方法的类型是POST)。
这是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);
这是处理程序的代码:
public void handle(String target, Request baseRequest,
HttpServletRequest request, HttpServletResponse response) {
System.out.println(request.getMethod());
}
我不知道问题出在哪里,因为我认为如果我使用HttpPost,方法类型应该是POST。
postGetSalt
是什么? - JB Nizet