我正在使用一个Web服务,当我的auth cookie到期时返回401,这会导致HttpUrlConnection抛出此错误:
java.io.IOException: No authentication challenges found
at libcore.net.http.HttpURLConnectionImpl.getAuthorizationCredentials(HttpURLConnectionImpl.java:427)
at libcore.net.http.HttpURLConnectionImpl.processAuthHeader(HttpURLConnectionImpl.java:407)
at libcore.net.http.HttpURLConnectionImpl.processResponseHeaders(HttpURLConnectionImpl.java:356)
at ...
我知道这种情况正在发生,因为服务器没有返回WWW-Authenticate标头,但这是我无法控制的。很高兴HttpUrlConnection为我做这个检查,但这是现实世界,我们并不总是能够使用完全遵循HTTP规范的服务器。由于其他代码依赖性,我无法摆脱HttpUrlConnection,因此如何禁用检查以便实际使用响应?
答案 0 :(得分:0)
你可以尝试捕捉错误。
try{
//code that causes error
}
catch(IOException ex){
if(ex.getMessage().equals("No authentication challenges found")){
//handle error
}
}