HTTP-Headers 未包含在使用 Volley 发出的请求中
HTTP-Headers not included in request made with Volley
我有以下请求,但出于某种原因 header 没有 "attached" 请求?请问你能帮我解决这个问题吗?
public void get(String servicesUrl, String end_tag_url) {
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url + servicesUrl + end_tag_url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println(error);
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("header1", "value");
params.put("header2", "value");
return params;
}
};
// Add the request to the RequestQueue.
queue.add(stringRequest);
}
我连接到服务器,但身份验证失败,因为 header 没有在连接中实现。
我已经在名为 Advanced-Rest-Client 的 Chrome add-on 上进行了测试,并添加了有效的 headers。
我可以将 header 中的 2 个添加到 URL,但是第 3 个不能附加到 URL 并且需要是 header?
创建请求时,覆盖 getHeaders(),如下所示:
new JsonObjectRequest(url, jsonRequest, listener, errorListener) {
@Override
public Map<String, String> getHeaders() {
Map<String, String> map = new HashMap<String, String>();
map.put("X-REST-API-Key", resources.getString(R.string.parse_api_key));
map.put("X-Application-id",
resources.getString(R.string.application_id));
if (sessionToken != null) {
map.put("X-Session-Token", sessionToken);
}
return map;
}
};
我有以下请求,但出于某种原因 header 没有 "attached" 请求?请问你能帮我解决这个问题吗?
public void get(String servicesUrl, String end_tag_url) {
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url + servicesUrl + end_tag_url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println(error);
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("header1", "value");
params.put("header2", "value");
return params;
}
};
// Add the request to the RequestQueue.
queue.add(stringRequest);
}
我连接到服务器,但身份验证失败,因为 header 没有在连接中实现。
我已经在名为 Advanced-Rest-Client 的 Chrome add-on 上进行了测试,并添加了有效的 headers。
我可以将 header 中的 2 个添加到 URL,但是第 3 个不能附加到 URL 并且需要是 header?
创建请求时,覆盖 getHeaders(),如下所示:
new JsonObjectRequest(url, jsonRequest, listener, errorListener) {
@Override
public Map<String, String> getHeaders() {
Map<String, String> map = new HashMap<String, String>();
map.put("X-REST-API-Key", resources.getString(R.string.parse_api_key));
map.put("X-Application-id",
resources.getString(R.string.application_id));
if (sessionToken != null) {
map.put("X-Session-Token", sessionToken);
}
return map;
}
};