如何通过删除Cookie来注销Twitter帐户?
我想通过删除由其创建的Cookie来注销我的Twitter帐户。我能够以检索由Twitter使用代码创建的cookie:如何通过删除Cookie来注销Twitter帐户?
String twit_cookie = getCookie ("http://www.twitter.com");
但我怎么只能删除由Twitter创建的cookie,因为removeAllCookie()删除浏览器中创建的所有Cookie。我怎样才能通过URL或名称删除特定的Cookie?
请帮忙...
CookieManager类有一个方法setCookie。你有没有尝试过这样的:
setCookie("http://www.twitter.com", null);
或许
setCookie("http://www.twitter.com", "auth_token=''");
您可以使用该方法CookieManager#setCookie(String url, String value)。正如文档中所述:
为给定的URL设置一个cookie。任何具有相同主机,路径和名称的现有cookie都将被替换为新的cookie。
“最清晰的”方法是将由twitter创建的所有Cookie设置为过期(过去的时间)。代码从this answer几乎是正确的,除了日期是未来。
修改后的代码:
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
什么这个 ? “所设置的cookie一定不能过期,不能是会话cookie,否则会被忽略。” http://developer.android.com/reference/android/webkit/CookieManager.html#setCookie(java.lang.String,java.lang.String) – trante 2014-08-15 18:06:21
@trante [This answer](http:// stackoverflow。 com/a/11621738/2829009)表示文档错误,并且与过期的cookie一起工作。如果它不起作用,请将cookie设置为将来几秒钟,以便它有效,但在短时间后过期。 – Manu 2014-08-16 08:57:10
结帐这里的答案:http://stackoverflow.com/questions/2834180/how-to-remove-cookies-using-cookiemanager-for-a-specific-domain – 2014-08-09 00:03:48