- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想发送一个正文为真或假的 POST 到服务器。我有这段代码并且我使用了 Volley 库
ShouzyHeader() 将 Content type 设置为 text/plain 并将 Accept 设置为 text/plain 以及身份验证所需的其他 header 。
如果我尝试 http://requestmaker.com/服务器正确响应,但我运行此代码服务器响应:
错误请求 - header 无效HTTP 错误 400。请求的 header 名称无效。
如果我删除 getBody(),服务器响应良好。
final String url = POSTS_URI + idPost + "/likes";
StringRequest strReq = new StringRequest(Request.Method.POST,
url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(TAG, response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
Toast.makeText(act, "Network error", Toast.LENGTH_SHORT).show();
}
}
) {
@Override
public byte[] getBody() throws AuthFailureError {
return "true".getBytes();
}
};
最佳答案
试试这个,对我来说效果很好:
JSONObject params = new JSONObject();
try {
params.put("likes", "true");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
url, params,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + 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));
// Adding request to request queue
getRequestQueue(jsonObjReq);
关于http - 截击 body 400错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25661951/
我正在发出 Volley 请求并尝试按照此解决方案 Send Int in HashMap with Volley POST 一个整数我的最终代码如下所示: JSONArray jso
我想发送一个正文为真或假的 POST 到服务器。我有这段代码并且我使用了 Volley 库 ShouzyHeader() 将 Content type 设置为 text/plain 并将 Accept
我正在尝试在我的 Android 应用程序中实现标记化,为此,每当我向服务器发出请求时,我总是需要将授权 header 添加到我的请求中。问题是,当我调试服务器实例时,即使发出请求,也没有在其中添加授
我使用 Google 的 Volley 库作为我获取网络数据的设计; 我已经设置了一个请求队列 requestQueue = new RequestQueue(new DiskBasedCache(n
我正在尝试为我的 Android 应用程序创建一个简单的注册页面。我使用 URL 字符串传递参数并将这些参数存储在数据库中。每当我尝试直接在浏览器中使用字符串时,数据都会添加到数据库中,不会出现任何错
我是一名优秀的程序员,十分优秀!