Android: обрабатывать cookie из HTTP-запроса Get - PullRequest
2 голосов
/ 31 марта 2012

Я работаю над приложением, которое подключается к веб-сайту (через http: // ......? Password = xyz ). Я использую DefaultHttpClient для этого. Вместе с ответом GET веб-сайт отправляет файл cookie, который я хочу сохранить для дальнейших запросов POST.

Моя проблема в том, что client.getCookieStore().getCookies() всегда получает пустой список файлов cookie.

Если я открою http://www.google.com (вместо моего предполагаемого веб-сайта), я получу куки правильно, но веб-сайт, с которым я работаю, похоже, отправляет куки другим способом (это модерирование списка рассылки MailMan) страница)

Я вижу соответствующий файл cookie в диспетчере файлов cookie Firefox, но не на панели сети / файлов cookie Firebug (почему?). InternetExplorer HttpWatchProfessional показывает cookie при записи трафика ....

Существует небольшая разница между файлами cookie, отправленными www.google.com, и моим целевым веб-сайтом: в HttpWatchProfessional эти файлы cookie от Google помечаются как «Направление: отправлено», а файлы cookie с моего сайта - «Направление: Получено». (как можно отправлять файлы cookie Google, когда я очищал кэш браузера / cookie только что?)

Может кто-нибудь объяснить мне разницу?

Мой код следующий:

DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse execute = client.execute(httpGet);
List<Cookie> cookies = client.getCookieStore().getCookies();

1 Ответ

3 голосов
/ 07 апреля 2012

После дальнейшего изучения я обнаружил, что cookie был получен, но фактически отклонен httpclient из-за пути cookie, который отличался от пути к вызываемому URL.

Я нашел решение в: https://stackoverflow.com/a/8280340/1083345

...