Volley 自定义 headers 即使已设置也无法正常工作

Volley custom headers not working even when set

我在我的应用程序中设置了 Volley,但我一直试图在每个请求中发送请求 headers (cookie)。我创建了一个自定义请求并覆盖了 getHeaders,如下所示:

@Override
public Map<String, String> getHeaders() throws AuthFailureError {
    HashMap<String, String> headers = new HashMap<>();

    String sessionRequest = "source=Android-" + AppUtils.getDeviceUUID(visnetawrap);
    if (visnetawrap.visnetaUser != null) {
        if (visnetawrap.visnetaUser.getUserIdString() != null) {
            //headers.put("UserSession", "id=" + visnetawrap.visnetaUser.getUserIdString());
            sessionRequest += ",id=" + visnetawrap.visnetaUser.getUserIdString();
        }
        if (visnetawrap.visnetaUser.userToken != null) {
            //headers.put("UserSession", "token=" + visnetawrap.visnetaUser.userToken);
            sessionRequest += ",token=" + visnetawrap.visnetaUser.userToken;
        }
    }
    //headers.put("UserSession", "source=Android-" + AppUtils.getDeviceUUID(visnetawrap));

    headers.put("UserSession", sessionRequest);

    Log.d("RequestHeaders", headers.toString());

    return headers;
}

但是,当我创建请求时,我从服务器收到一条错误消息,提示它们未设置。这不是服务器端问题,因为它曾经用于改造。关于为什么会这样有什么建议吗?

正如我所说,对于超时问题,您应该检查网络连接或setRetryPolicy,如下代码:

request.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 5, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));