关于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)