DefaultHttpClient.execute долго выполняется

Рейтинг: 1Ответов: 0Опубликовано: 16.02.2015

Доброго времени суток!

У меня такая проблема. Я обращаюсь к VK api с помощью DefaultHttpClient. В качестве ответа я получаю строку, представляющую собой json строку. Проблема в том, что если я выполняю запрос через браузер, то получаю результат почти мгновенно. А вот если делаю запрос с помощью DefaultHttpClient в андроид, то результата приходится ждать несколько секунд, примерно 5-7. Строка, получаемая в ответе, довольно большая (содержит массив из примерно 800 элементов в формате json), но дело в том, что в браузере запрос выполняется очень быстро. При отладке выяснилось, что задержка происходит в методе execute. Код для отправки запроса вкратце такой:

HttpClient client = new DefaultHttpClient();

HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);  // долго выполняется этот метод
StatusLine statusLine = response.getStatusLine();
if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
out.close();
return out.toString();
} else {
response.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}

Ответы

Ответов пока нет.