Używam android DownloadManager
API do pobierania plików z serwera mojej szkoły. Mam pozwolenie na dostęp do tych plików za pomocą loginu, ale nie byłem w stanie wymyślić, jak przesłać pliki cookie z moim DownloadManager.Request
Kod pobierania znajduje się poniżej. dm
to globalny DownloadManager
, a url
to skrypt php do pobrania, który przekierowuje do pliku, zwykle pdf/doc/etc.Czy to możliwe, aby przesłać pliki cookie w Android DownloadManager
dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(Uri.parse(url));
dm.enqueue(request);
Intent i = new Intent();
i.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS);
startActivity(i);
Działa to dobrze, ale pojawia się pobrany plik HTML, który jest strona logowania stronie mojej szkoły. Oczywiście muszę jakoś przesłać ciasteczka sesyjne użytkownika, ale nie widzę żadnego sposobu na zrobienie tego w dokumentacji.
To zadziałało idealnie. Już ręcznie zarządzałem ciasteczkami w 'Map', więc było to tak proste jak formatowanie jako 'KEY1 = VALUE1; KEY2 = VALUE2;' i przekazanie go do funkcji, o której wspomniałeś. Dzięki! –
Logiraptor
To jest po prostu idealne - poszedłem na kilka innych dróg, ale to przybite! Dostaję pliki cookie z witryny onPageFinished, wywołując "CookieManager.getInstance(). GetCookie (url);" i mogę wtedy użyć wyniku bezpośrednio jako wartości Cookie! – slott