2012-03-31 4 views
2

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

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

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

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

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

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

Мой код выглядит следующим образом:

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

возможно дубликат [Принимать все Cookies с помощью HttpClient] (http://stackoverflow.com/questions/8279970/accept-all-cookies-via-httpclient) – dldnh

ответ

3

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

Я нашел решение по адресу: https://stackoverflow.com/a/8280340/1083345