2013-01-02 13 views
7

Sto tentando di impostare abc = 123 cookie prima di inviare la richiesta http.Utilizzo di apache httpclient come impostare cookie per la richiesta http

Nella risposta mi aspetto che lo stesso cookie venga rispedito. Ma nella risposta ottengo abc = 890 dove il valore è impostato dal server di destinazione.

 DefaultHttpClient httpclient = new DefaultHttpClient(); 
    CookieStore cookieStore = httpclient.getCookieStore(); 
    BasicClientCookie cookie = new BasicClientCookie("abc", "123"); 

    // Prepare a request object 
    HttpGet httpget = new HttpGet("http://abc.net/restofurl"); 

    cookieStore.addCookie(cookie); 
    httpclient.setCookieStore(cookieStore); 

    // Execute the request 
    HttpResponse response = httpclient.execute(httpget); 

    // Examine the response status 
    log.info("Http request response is: " + response.getStatusLine()); 

    List<Cookie> cookies = cookieStore.getCookies(); 

    for (int i=0; i<cookies.size();i++) { 

     if (cookies.get(i).getName().toString().equals("abc")) { 
      log.info("cookie is: " + cookies.get(0).getValue().toString()); 
      } 
    } 

Grazie

risposta

8

ha funzionato dopo l'aggiunta di

cookie.setDomain(".xyz.net"); 
cookie.setPath("/"); 
0

è il problema risolto modificando

log.info("cookie is: " + cookies.get(0).getValue().toString()); 

in

log.info("cookie is: " + cookies.get(i).getValue().toString()); 

?

Problemi correlati