gpt4 book ai didi

android - 如何处理Volley中的407错误码

转载 作者:行者123 更新时间:2023-11-29 23:30:44 25 4
gpt4 key购买 nike

我有一个 RESTFul API,如果存在特定问题,它可能会以错误代码 407 响应,但是当我使用 Volley 时,它显示:

error.networkResponse = null
error.detailMessage = "java.net.ProtocolException: Received HTTP_PROXY_AUTH (407) code while not using proxy".

有没有办法让 Volley 在这个变量 error.networkResponse.statusCode 中显示这个错误?或者我必须在 error.detailMessage 中搜索 407?

这是我的代码:

StringRequest request = new StringRequest(
Request.Method.POST,
url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
/*do something*/
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {

if(error != null && error.networkResponse != null) {
switch (error.networkResponse.statusCode) {
case 400:
/* print appropriate response */
case 407:
/* print appropriate response,
it won't reach here because
the error.networkResponse = null*/
default:

}
}
}) {
@Override
public Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("id", String.format("%d", id));
return params;
}
};

最佳答案

您似乎将 Volley 与 OkHttp 一起使用,因为该异常特定于 OkHttp。

我自己没有使用 OkHttp,所以我不知道这是否可行,但您可以尝试覆盖请求的 parseNetworkResponse 方法:

@NonNull
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
int statusCode = response.statusCode;

return super.parseNetworkResponse(response);
}

关于android - 如何处理Volley中的407错误码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52737335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com