我在Android世界中很新,也许我的问题很简单.. 我有一个Android应用程序,我使用HttpGet连接到服务器并收集数据。 但是,服务器有时会设置一些我的代码不会记住的cookie。 我找到了一个帖子,它使用自定义cookie策略并接受所有内容..正是我需要的。但是我无法实现它。据我所知,我的java httpclient版本很旧,并且没有我需要的功能。 这是我的代码:
try {
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(link);
get.getParams().setParameter(
ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
HttpResponse responseGet = client.execute(get,ctx);
status_code = responseGet.getStatusLine().getStatusCode();
HttpEntity resEntityGet = responseGet.getEntity();
if (resEntityGet != null) {
http_response = EntityUtils.toString(resEntityGet);
}
}
我需要实现的代码:
CookieStore cookieStore = new BasicCookieStore();
httpclient.setCookieStore(cookieStore);
CookieSpecFactory csf = new CookieSpecFactory() {
public CookieSpec newInstance(HttpParams params) {
return new BrowserCompatSpec() {
@Override
public void validate(Cookie cookie, CookieOrigin origin)
throws MalformedCookieException {
log.debug("allow all cookies");
}
};
}
};
httpclient.getCookieSpecs().register("easy", csf);
httpclient.getParams().setParameter(
ClientPNames.COOKIE_POLICY, "easy");
我只需要将此csf策略设置为我的客户端。 但似乎我在库中没有这两个函数:setCookieStore和getCookieSpecs()。register()
我有什么选择来运行它?!