【发布时间】:2018-02-18 19:48:29
【问题描述】:
我希望使用 Volley 的库来包含来自 Android 响应的标头。我知道还有其他工具,如 OkHttp、Retrofit、Moshi、Picasso 有更多的文档(我认为 Volley 的缺点之一——文档很少)。然而我已经投入了很多时间。
我只想将 curl --include -X POST -d ... 请求翻译成 android。
到目前为止,我可以使用 POST,但不能使用 --include(https://www.itsalif.info/content/android-volley-tutorial-http-get-post-put 上的有用教程):
public class HTTPService {
public static void makeRequest(Context context) {
RequestQueue queue = Volley.newRequestQueue(context);
Response.Listener responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response!=null){
Log.d("Response", response);
Log.d("Response", Integer.toString(response.length()));
}
}
};
Response.ErrorListener errorListener = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// error
String response = "Error";
Log.d("Error.Response", error.toString());
}
};
String url = "http://httpbin.org/post";
StringRequest postRequest = new StringRequest(Request.Method.POST, url, responseListener, errorListener) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("name", "John");
params.put("domain", "https://www.facebook.com");
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
return super.getHeaders();
}
};
queue.add(postRequest);
}
}
我已经展示了 getHeaders 函数来说明这不是我想要的。那就是将标题放在您的数据上。我想在我的响应对象中包含 HTTP 标头。
我发现的两个链接应该描述如何做到这一点:
1)https://developer.android.com/training/volley/request-custom.html
但此时我感到非常困惑,并且......谁能提供一个可行的解决方案?或者告诉我他们如何处理 curl -i/--include 命令?
【问题讨论】:
标签: android http header android-volley