2015-04-29 2 views
2

Я посылаю два запроса, и я хочу сделать второй запрос с cookie (cookie от ответа от первого запроса).Как сохранить cookie между запросом в asyncHttpClient?

Как работать сейчас:

Future<Response> f = asyncHttpClient 
    .prepareGet(URL_1) 
    .execute(); 
Response r = f.get(); 

/* I want code without saving and restoring cookie */ 
List<Cookie> cookies = r.getCookies(); 
AsyncHttpClient.BoundRequestBuilder b = asyncHttpClient.prepareGet(URL_2) 
for (Cookie c : cookies) { 
    b.addCookie(c); 
} 

f = b.execute(); 
r = f.get(); 

Я хочу, чтобы удалить сложный код, как я могу это

ответ

0

делать Если вы используете Java8 уже, то ComparableFuture может помочь Вам с запросом последовательного запуска. В противном случае вы можете найти полезный RxJava сторонний (ссылка на RxJava содержится в резюме).

+0

Проблема не в количестве кода, проблема в логике. Я хочу, чтобы asynchttpClient сохранял файлы cookie, если они пришли в ответ. – couatl

+0

ах, хорошо. то вы можете проверить эту ссылку: http://stackoverflow.com/questions/15668186/request-doesnt-used-saved-cookies-in-persistentcookiestore. –

Смежные вопросы