我读了很多关于这个问题,但我无法弄清楚。我正在使用HttpURLConnection
并且它工作正常,但在JellyBean
上IOException: No Authentication challenge found
,当我getResponseCode()
时调用401
,即使后端是HTTP/1.1 401 Unauthorized
WWW-Authenticate: realm="realm"
在响应中发送正确的标题:
Map<String, List<String>> map = connection.getHeaderFields();
if (map != null) {
Set<String> set = map.keySet();
for (String tmp : set) {
Log.i(LOG_TAG, tmp != null ? tmp : "null");
}
}
另一方面,调试它,我经历了一些奇怪的事情。我以这种方式在控制台上打印了标题值:
connection.getResponseCode();
在调用 connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestProperty("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Accept-Charset", "utf-8");
connection.setRequestProperty("Accept-Encoding", "gzip");
之前,它停止抛出该异常。
有任何线索吗?
使用以下值设置连接:
{{1}}