Несколько запросов GET на один сайт (канонический) (Java) - PullRequest
1 голос
/ 01 августа 2011

Привет. Я пытаюсь сделать 2 GET-запроса на одно соединение. т.е.

HttpGet get1 = new HttpGet("http://www.google.com/search?q=HelloWorld");
HttpGet get2 = new HttpGet("http://www.google.com/search?q=SecondSearch");

HttpResponse response = null;

response = client.execute(get1);
response = client.execute(get2);

Я бы хотел получить тело из второго исполнения. Очевидно, что это не удается, потому что он говорит, что вы должны освободить соединение в первую очередь. Мне нужно поддерживать точный сеанс - например, если я перехожу на сайт, где первым шагом является вход в систему, мне нужно переходить на любые последующие страницы с тем же cookie-файлом.

Это, наверное, что-то невероятно простое, что я делаю неправильно!

1 Ответ

2 голосов
/ 01 августа 2011

Вам необходимо использовать CookieStore

CookieStore cookieStore = new BasicCookieStore();

DefaultHttpClient client1 = new DefaultHttpClient();
client1.setCookieStore(cookieStore);
HttpGet httpGet1 = new HttpGet("...");
HttpResponse response1 = client1.execute(httpGet1);

DefaultHttpClient client2 = new DefaultHttpClient();
client2.setCookieStore(cookieStore);
HttpGet httpGet2 = new HttpGet("...");
HttpResponse response2 = client2.execute(httpGet2);

. В приведенном выше коде оба клиента client2 будут повторно использовать файлы cookie из запроса client1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...