2013-07-24 10 views
5

Riguardo al LoopJ AndroidAsyncHttp examples faccio una richiesta GET come questo:LoopJ AndroidAsyncHttp e richiedere i cookie

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); 
     } 
    }); 

Ho anche aggiungere i biscotti:

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

Ma mentre si effettua una richiesta GET come posso inviare i miei cookie all'interno dell'oggetto richiesta?

Riguardo al documentation cliente ha queste firme di metodo:

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) 

sarei felice se si può dare un esempio che invia cookie permanenti all'interno della richiesta GET.

+1

si sta aggiungendo i cookie già quando si imposta client.setCookieStore (myCookieStore). Assicurati di aggiungerli prima di client.get() – robotoaster

risposta

3

Poiché si sta creando la propria istanza PersistentCookieStore, utilizzare semplicemente l'istanza myCookieStore creata. Come @robotoaster dice aggiungilo prima get().

O

fare questo

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

Poi seguire le istruzioni a http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/CookieStore.html.

Fonte: Cookies in loopj for android (Direttamente dalla loopj)