Подтвердить что ты не робот

AndroidHttpClient и DefaultHttpClient

Есть ли большая разница между этими двумя и какая из них предпочтительнее использовать?

4b9b3361

Ответ 1

AndroidHttpClient: Подкласс Apache DefaultHttpClient, который настроен с разумными настройками по умолчанию и зарегистрированными схемами для Android, а также позволяет пользователю добавлять классы HttpRequestInterceptor. Этот клиент обрабатывает файлы cookie, но не сохраняет их по умолчанию. Чтобы сохранить файлы cookie, просто добавьте хранилище cookie в HttpContext

[API]

Ответ 2

На основе исходного кода Android:

https://github.com/CyanogenMod/android_frameworks_base/blob/gingerbread/core/java/android/net/http/AndroidHttpClient.java#L106

AndroidHttpClient настроен на выполнение следующих дополнительных настроек:

  • Отключить устаревшую проверку, так как соединения могут прерываться все время.
  • Установить ConnectionTimeout и SoTimeout (20 или 60 секунд)
  • Отключить перенаправление.
  • Используйте кеш сеанса для сокетов SSL.
  • Используйте gzip сжатый трафик между клиентом и сервером, если это возможно.
  • Не сохраняет файлы cookie по умолчанию.

Ответ 3

Этот интересный сообщение в блоге от разработчика android дает обзор различных HTTP-клиентов Androids.

В соответствии с этим сообщением URLConnection должно быть предпочтительнее, чем DefaultHttpClient или AndroidHttpClient на Gingerbread и выше.