对于Android CookieManager
课程,有一种方法 - getCookie(String url)
为此,我们需要知道正确的URL
有没有办法获取CookieManager
中的所有cookie并获取网址。
有点像getCookies
??
这只是为了仔细检查我url
getCookie(String url)
电话中是否有任何错误。
当我打电话时,我没有收到饼干
我在网址传递完整IP address
。这样的事情:"xx.x.x.x"
感谢
米亚
答案 0 :(得分:4)
我在我的Android应用程序中使用了带有java.net包的CookieManager,它就像一个魅力。这是一段代码:
import java.net.CookieHandler;
import java.net.CookieManager;
import java.net.CookiePolicy;
import java.net.HttpCookie;
import java.util.List;
private class MyCookieManager
{
private CookieManager mCookieManager = null;
MyCookieManager() {
mCookieManager = new CookieManager();
mCookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(mCookieManager);
}
private List<HttpCookie> getCookies() {
if(mCookieManager == null)
return null;
else
return mCookieManager.getCookieStore().getCookies();
}
public void clearCookies() {
if(mCookieManager != null)
mCookieManager.getCookieStore().removeAll();
}
public boolean isCookieManagerEmpty() {
if(mCookieManager == null)
return true;
else
return mCookieManager.getCookieStore().getCookies().isEmpty();
}
public String getCookieValue() {
String cookieValue = new String();
if(!isCookieManagerEmpty()) {
for (HttpCookie eachCookie : getCookies())
cookieValue = cookieValue + String.format("%s=%s; ", eachCookie.getName(), eachCookie.getValue());
}
return cookieValue;
}
}
答案 1 :(得分:0)
您可以use reflection查看Cookie地图。它在4.0.3中称为mCookieMap(也可能在早期版本中)。类型是Map&gt;。
这不是一个很好的方法,因为如果他们不使用mCookieMap,你将冒险打破不同的设备或操作系统版本,但CookieManager不提供公开的方式来知道它访问了哪些URL。 / p>