2016-03-21 4 views
-2

Я ищу некоторые рекомендации по поводу следующей ситуации:Обновление HttpsURLConnection для залпового/дооснащения

Я сейчас использую HttpsURLConnection (SSL), чтобы «успешно» входа на сайт, данные мне нужно получить в формате JSON (ниже скриншота в качестве примера).

enter image description here

Процедура Войти заключается в следующем:

  1. Выполните GET, чтобы захватить (Set-Cookie) заголовки (которые являются 2, JSESSIONID, PD-S-Session-ID)
  2. Выполнение POST с моими учетными данными (включая это 2 печенье)
  3. Выполните окончательную GET для загрузки страницы HTML (ответ Логина не нет JSON)
  4. Возьмите идентификатор клиента, который скрыт/предоставлен в строке ответа HTML (только после успешного входа в систему), идентификатор необходим, чтобы иметь возможность захватить фактические данные JSON, которые я ищу.

В связи с тем, что фактические данные мне нужно предоставляется в формате JSON и мне еще нужно, чтобы начать писать код разбора, мне было интересно, если я должен переключиться на залп/дооснащения как эти 2 намного быстрее затем httpurlconnection. Я уже делал некоторые исследования/поиск кода на StackOverflow и INet о volley/retrofit, но я не могу найти хорошие примеры для выполнения процедуры входа в систему (что мне нужно сделать).

Вопросы до сих пор:

  • Веб-сайт использует редиректы (302), может залп/Модифицированная обрабатывать эти? Планировалось использовать «com.mcxiaoke.volley: library: 1.0.19»
  • есть 2 заголовка набора файлов cookie, волейбол может сохранить только один заголовок set-cookie (другие перезаписываются?)
  • как сделать объединить GET, POST и окончательный GET в волейбол/модификацию? Я мог только найти примеры 1 GET, 1 POST одновременно. Я планировал использовать singleton, так как приложение постоянно должно быть подключено к INet.

Моя актуальная проблема заключается в переписать код входа который у меня есть (HttpsURLConnection) для залпового или дооснастить (как обрабатывать Set-куки, редиректы, смешайте GET и методы POST, которые необходимы) , Фактический синтаксический анализ данных JSON (после входа в систему) не должен быть проблемой.

Не быть понятым. Я не прошу написать мне примерный код. Я просто ищу некоторые хорошие рекомендации/примеры? И стоит ли обновлять/получать увеличение скорости на 60-70%, которое должен иметь волейбол/модификация?

Или я должен сохранить проблему и просто придерживаться своей рабочей асинтезы HttpsUrlConnection?

Благодарим вас за консультацию.

+0

Downvotes? Я просто прошу некоторых советских людей, любезно понимаю. – Simon

ответ

0

Объединяя POST/GET запросы в Retrofit2 легко (вы можете называть их синхронно или асинхронно), читайте руководства. Если вы планируете использовать Retrofit в качестве основного клиента REST в будущих проектах, вы также можете посмотреть поддержку RxJava (сочетание запросов там прекрасное), но для полного понимания и «ощущения» требуется некоторое время.

Модернизация может обрабатывать переадресацию, файлы cookie также не должны быть проблемой. Если быть точным, это не проблема с дооснащением, а клиент OkHttp, на котором основана Retrofit. Вам также потребуется настроить CookieManager и CookieStore. Полезные ссылки: 12345

Итак ... Переоборудование может обрабатывать все ваши задачи, но это трудно сказать, если он будет работать быстрее. Если вы планируете переписать только этот модуль входа и ваш текущий код, я не уверен, стоит ли переключиться на другую библиотеку. Если это время входа в систему действительно длинное и неприемлемое, чем попытка попробовать (пожалуйста, поделитесь с нами позже, если это поможет).

+0

много thx для вашего ответа. На самом деле я занят получением volley + okhttp для работы, но столкнулся с некоторыми проблемами, логин действительно требует определенных параметров, отформатированных и не возвращающих объект JSon, я ссылаюсь на свой вопрос: http://stackoverflow.com/questions/36157933/ залповый после запроса-не-работа. Я действительно думал об этом, так как у меня уже есть действующий код входа, но поскольку мне нужны данные acrual, JSon, я хочу, чтобы эта работа работала с volley + okhttp. – Simon

+0

Я принял ваш ответ, так как он привел меня на правильный трек, и я продолжил использовать persistentcookiestore. Хотя я использовал volley + okhttp, чтобы получить успешный логин. Рабочий код: http://stackoverflow.com/questions/36157933/volley-post-request-not-working Thx снова. – Simon

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