Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 截击自定义标题即使设置也不起作用_Android_Android Volley - Fatal编程技术网

Android 截击自定义标题即使设置也不起作用

Android 截击自定义标题即使设置也不起作用,android,android-volley,Android,Android Volley,我已经在我的应用程序中设置了截击,但我一直在尝试在每个请求中发送请求头(cookies)。我创建了一个自定义请求,并覆盖了GetHeader,如下所示: @Override public Map<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> headers = new HashMap<>(); String sessionReque

我已经在我的应用程序中设置了截击,但我一直在尝试在每个请求中发送请求头(cookies)。我创建了一个自定义请求,并覆盖了GetHeader,如下所示:

@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;
}
@覆盖
公共映射getHeaders()引发AuthFailureError{
HashMap headers=新的HashMap();
String sessionRequest=“source=Android-”+AppUtils.getDeviceUUID(visnetawrap);
if(visnetawrap.visnetaUser!=null){
if(visnetawrap.visnetaUser.getUserIdString()!=null){
//headers.put(“UserSession”,“id=“+visnetawap.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());
返回标题;
}

但是,当我创建请求时,服务器返回一个错误,说它们没有设置。这不是一个服务器端问题,因为它曾经用于改造。关于原因有何建议?

正如我所评论的,对于超时问题,您应该检查网络连接或设置策略,如以下代码所示:

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

你读过吗?我读过,我也试过,除非我做错了,否则对我没用……哪个答案最好?我试过上面的那个。我正在使用OkHttpClient,也许这就是问题所在?所有这些值都是在我上面的函数中设置的,所以当它返回标题时,它应该发送它们?发布来自服务器的响应消息plsIt只是返回未知错误,但我做了打印堆栈跟踪,发现是因为超时。这似乎行得通,谢谢!