HttpURLConnection działało dobrze w systemie Android 2.x, ale NIE w wersji 4.1: nie znaleziono wyzwań związanych z uwierzytelnianiem
Mam kilka typowych kodów, które wykorzystywały HttpURLConnection do pobrania pliku z adresem URL. Pracowali dobrze w Androidzie 1.xi 2.x. Ale nie powiodło się w Android 4.1!
Szukałem w sieci, ale znalazłem niewiele podobnych informacji. Czy ktoś mógłby pomóc w zbadaniu tego problemu?
private String mURLStr;
private HttpURLConnection mHttpConnection;
...
url = new URL(mURLStr);
...
mHttpConnection = (HttpURLConnection) url.openConnection();
mHttpConnection.setDoOutput(true);
mHttpConnection.setRequestMethod("GET");
...
InputStream is = mHttpConnection.getInputStream();
Metoda getInputStream zgłasza wyjątek:
08-01 15:56:48.856: W/System.err(13613): java.io.IOException: No authentication challenges found
08-01 15:56:48.856: W/System.err(13613): at libcore.net.http.HttpURLConnectionImpl.getAuthorizationCredentials(HttpURLConnectionImpl.java:427)
08-01 15:56:48.866: W/System.err(13613): at libcore.net.http.HttpURLConnectionImpl.processAuthHeader(HttpURLConnectionImpl.java:407)
08-01 15:56:48.866: W/System.err(13613): at libcore.net.http.HttpURLConnectionImpl.processResponseHeaders(HttpURLConnectionImpl.java:356)
08-01 15:56:48.866: W/System.err(13613): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:292)
08-01 15:56:48.866: W/System.err(13613): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)
...