2015-02-09 2 views
0

Я читаю везде, что волейбол будет использовать либо HttpUrlConnection для более новых версий api, либо HttpClient для более старой версии, и я пытаюсь сказать волейбол, чтобы использовать только HttpUrlConnection.Использование HttpUrlConnection с волейболом

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

Пока все хорошо, но я понятия не имею, как запустить HttpUrlConnection и добавить к нему файл cookie.

Может кто-нибудь, пожалуйста, дайте мне небольшой пример того, как инициализировать HttpUrlConnection и добавить к нему куки-файл, а затем передать его на залп?

Я смог выполнить такой запрос непосредственно на HttpUrlConnection, и это сработало, но как его настроить для использования с волейболом?

URL urlLink = new URL(url2); 
HttpURLConnection conenction = (HttpURLConnection)urlLink.openConnection(); 
conenction.setRequestProperty("Cookie", cookie); 
+0

Я рекомендую вам использовать библиотеку OkHttp (http://square.github.io/okhttp). У него много оптимизаций, а у HttpUrlConnection есть некоторые ошибки pre-Gingerbread, поэтому по умолчанию реализация «HttpStack» в Volley использует «HttpClient» Apache. – corsair992

ответ

4

Я читал везде, что залп будет использовать либо HttpURLConnection для новой версии API или HttpClient для более старой версии, и я пытаюсь сказать залп только использовать HttpURLConnection.

Это правильно. См. Строки 54-60 от Volley source. Если ваше приложение работает на устройстве с использованием Gingerbread (уровень API 9) или выше, он уже использует HttpUrlConnection для всех запросов.

Если вы действительно хотите использовать свой собственный HttpUrlConnection экземпляр для ваших запросов, вам нужно будет реализовать свой собственный HttpStack (см Volley-х HurlStack для примера). Вы можете использовать Volley# newRequestQueue(Context, HttpStack), чтобы сообщить Volley использовать свой собственный стек.

Существует несколько альтернатив для отправки файлов cookie. Я рекомендую проверить this question для некоторых из этих альтернатив.

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