我在tomcat中有一个服务器,我正在尝试从我的android设备上提出一个请求。我得到的只有415。我无法通过发送一个有缺陷的Json来复制这个错误。服务器对我的请求没有反应。我在每一步都有println(),以防万一。
try {
params.put("userId", 2);
params.put("latitude", lon1);
params.put("longitude", lat1);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
errTextBox.setText(params.toString());
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
url, params.toString(),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
msg.setText(response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("Error: " + error.getMessage());
msg.setText("not ok " + error.getMessage());
}
}) {
/**
* Passing some request headers
* */
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json; charset=utf-8");
return headers;
}
};
jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(60000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
queue.add(jsonObjReq);不要一式两份,因为我的请求是用JsonObjectRequest完成的。另外,移除字符集也没有帮助。

发布于 2016-01-11 07:38:49
好吧,我可能下了个嘘声。在我的服务器软件中,我已经将接收到的字符串解析为Json。所以我需要发送纯文本..。
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "text/plain; charset=utf8");
return headers;https://stackoverflow.com/questions/34713874
复制相似问题