2015-10-26 23 views
8

Sto scrivendo un'app java che può accedere e guardarsi intorno sul sito. Sto riscontrando un problema in cui il mio HttpClient si blocca quando provo a eseguire un secondo HttpResponse/Post. Stava funzionando bene prima, non sono sicuro del motivo per cui ha iniziato a riagganciare. Non ho errori, si limita a stare fermo e si blocca. L'unica modifica che ho fatto che potrebbe causare questo blocco è che sto usando HttpGet per recuperare i token, così posso accedere al sito web.HttpClient si blocca quando si esegue una seconda richiesta

Ecco come Sto installando il HttpClient

private static BasicCookieStore cookieStore = new BasicCookieStore(); 
private static HttpClient httpClient = HttpClientBuilder.create().setDefaultCookieStore(cookieStore).build(); 

Il resto è solo uno standard httpget & HttpPost, quindi httpclient.execute();

La prima sequenza è il mio programma interroga il sito Web e recupera il token, quindi invio un POST con il token per accedere. Successivamente il mio programma interroga nuovamente un sito Web per ottenere informazioni sul prodotto, quindi aggiunge al carrello. Ma si blocca al secondo POST.

Potrei mancare un filo da qualche parte? Stavo leggendo da qualche parte che questo modo di HttpClient si chiude da solo. E DefaultHttpClient è stato ammortizzato.

+2

Mostrare un programma breve ma * completo * che dimostri il problema. –

+0

Cosa intendi per "blocco"? c'è un'eccezione? qual è il messaggio? –

+0

Sospetto che il problema sia nel tuo uso "standard" della classe ... probabilmente non stai pulendo qualcosa che dovresti ... dovresti fornire un esempio ** breve ** che mostri il problema. ** ETA **: chiedi anche se ti manca un filo da qualche parte - come mai sapremmo senza codice? – dcsohl

risposta

16

Nel tutorial pubblicato di seguito, non hanno menzionato che dovrei usare post.releaseConnection(); Ha causato il blocco del mio codice, quindi ho aggiunto la funzione releaseConnection() dopo ogni POST/GET. Spero che sia il modo corretto per pulire il codice.

+1

Grazie, funziona bene. – aldrael

+0

questo. grazie amico, funziona come un incantesimo! – user3766930