LoopJ AndroidAsyncHttp and request cookies



关于LoopJ AndroidAsyncHttp的例子,我提出了这样的get请求:

    final TextView text = (TextView) findViewById(R.id.textView);
    AsyncHttpClient client = new AsyncHttpClient();
    client.get("http://example.com/mypage/", new AsyncHttpResponseHandler() {
        @Override
        public void onSuccess(String response) {
            text.append(response);
        }
    });

我还添加了cookie:

    PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
    client.setCookieStore(myCookieStore);
    BasicClientCookie newCookie = new BasicClientCookie("id", 17882);
    myCookieStore.addCookie(newCookie);

但是,在发出GET请求时,我如何在请求对象内发送cookie?

关于文档,客户有以下方法签名:

 void   get(Context context, String url, AsyncHttpResponseHandler responseHandler) 
 void   get(Context context, String url, Header[] headers, RequestParams params, AsyncHttpResponseHandler responseHandler) 
 void   get(Context context, String url, RequestParams params, AsyncHttpResponseHandler responseHandler) 
 void   get(String url, AsyncHttpResponseHandler responseHandler) 
 void   get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) 

如果您能举一个在GET请求中发送持久cookie的例子,我会很高兴。

由于您正在创建自己的PersistentCookieStore实例,因此只需使用您创建的myCookieStore实例即可。就像@robotowser说的在get()之前添加它。

做这个

HttpContext httpContext = httpClient.getHttpContext();
CookieStore cookieStore = (CookieStore) httpContext.getAttribute(ClientContext.COOKIE_STORE);

然后按照上的说明进行操作http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/CookieStore.html。

来源:android版loopj中的Cookie(直接从loopj)

相关内容

  • 没有找到相关文章

最新更新