Android HttpClient接受所有Cookie

时间:2015-05-31 16:09:33

标签: android httpclient http-get httpcookie cookiestore

我在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()

我有什么选择来运行它?!

0 个答案:

没有答案