Wpis z mikrobloga

#programowanie
#androiddev
#android
Mam taki problem:
próbuję połączyć się z serwerem REST z Androida, jednak serwer obsługuje autoryzację Digest, a nie Basic. Łącząc się poprzez przeglądarkowego klienta REST nie ma problemu z połaczeniem, jednak androidowy HTTPUrlConnection nie chce współpracować. Ktoś coś? Może jest jakaś biblioteka pozwalająca na łatwą implementację?

Próbowałem czegoś takiego:


@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("user", "pass".toCharArray());
}
});
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

urlConnection.connect();
String response = urlConnection.getResponseMessage();

ale cały czas 401
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Seima: zacznę od tego że implementowałem to bardzo dawno, dzielę się być może przestarzałą wiedzą.

HttpUrlConnection jest przeznaczony do bardzo prostych zastosowań do których AUTENTYKACJA (a nie autoryzacja ;) ) digest się nie zalicza. Stosuje się do tego bardziej złożone biblioteki. Ja pamiętam osiągnąłem ten efekt z biblioteką OkHttp.

Przejrzałem na szybko te posty: https://github.com/square/okhttp/issues/205 i wygląda na to że coś podobnego stosowałem u siebie i zadziałało
  • Odpowiedz