Как выйти из аккаунта Twitter, удалив куки? - PullRequest
7 голосов
/ 18 января 2012

Я хочу выйти из своей учетной записи в Твиттере, удалив созданные им файлы cookie. Я могу получить куки, созданные твиттером, используя код:

String twit_cookie = getCookie ("http://www.twitter.com");

Но как я могу удалить только куки, созданные Twitter, потому что removeAllCookie () удаляет все куки, созданные браузером. Как я могу удалить определенный куки по URL или по имени ???

Пожалуйста, помогите ...

Ответы [ 2 ]

3 голосов
/ 13 августа 2014

Можно использовать метод CookieManager # setCookie (String url, String value) . Как указано в документации:

Устанавливает cookie для данного URL. Любой существующий файл cookie с тем же хостом, путем и именем будет заменен новым файлом cookie.

«Самый ясный» способ - установить срок действия всех файлов cookie, созданных в твиттере (время в прошлом). Код из этого ответа почти верен, за исключением даты в будущем.
Модифицированный код:

final String domain = "http://www.twitter.com";
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
String cookiestring = cookieManager.getCookie(domain); //get all cookies
String[] cookies =  cookiestring.split(";");
for (int i=0; i<cookies.length; i++) {
    String[] cookieparts = cookies[i].split("="); //split cookie into name and value etc.
    // set cookie to an expired date
    cookieManager.setCookie(domain, cookieparts[0].trim()+"=; Expires=Wed, 31 Dec 2000 23:59:59 GMT");
}
CookieSyncManager.getInstance().sync(); //sync the new cookies just to be sure
3 голосов
/ 09 августа 2014

Класс CookieManager имеет метод setCookie. Вы пробовали это как:

setCookie("http://www.twitter.com", null);

Или, возможно

setCookie("http://www.twitter.com", "auth_token=''");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...