Android4.0.4之后,服务器返回401或者407时,获取不到消息体的解决办法

Android4.0.4之后,服务器返回401或者407时,获取不到消息体的主要原因就是报错了,内容是:

java.io.IOException: No authentication challenges found

,而导致这个异常的原因是,Android4.0.4之后,Google对服务器返回的401或者407的消息头进行了验证,如果服务器在消息头中添加了【WWW-Authenticate: XXX realm="xxx"】,则没有问题,否则会在HttpURLConnectiongetResponseCode()方法中会抛出IOException。

例如:

WWW-Authenticate: Basic realm="wjy"

这里需要注意的是【"wjy"】中的“"”一定不能缺少,如果缺少了,一样不能通过验证。


你可能感兴趣的:(android,407,401)