У нас есть настройка фреймворка django, и вход в django работает. Нам нужно получить этот идентификатор сеанса на андроиде, и я не уверен, как мы можем это сделать. Поэтому, если мы создаем http-сообщение от android, нам нужен идентификатор сеанса из django, который мы можем использовать для будущего сообщения и получать запросы от этого пользователя.Django session id на android
ответ
Для этого вам необходимо поддерживать сеанс. И для поддержания сеанса есть две возможности:
1) Используйте один DefaultHttpClient для всех запросов.
Этот подход не будет работать, если вы хотите одновременно вызвать несколько запросов.
2) Синхронизация общих куки-файлов между несколькими соединениями DefaultHttpClient.
public static List<Cookie> cookies;
чтения куки сессии после входа в систему.
HttpResponse WSresponse = httpclient.execute(httppost);
try {
cookies = httpclient.getCookieStore().getCookies();
sync();
} catch (Exception e) {
}
public static DefaultHttpClient getHttpclient() {
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, timeOut);
HttpConnectionParams.setSoTimeout(httpParameters, timeOut);
DefaultHttpClient httpclient = new DefaultHttpClient(httpParameters);
if (cookies != null) {
int size = cookies.size();
for (int i = 0; i < size; i++) {
httpclient.getCookieStore().addCookie(cookies.get(i));
}
}
return httpclient;
}
UPDATE:
public void sync() {
if (cookies != null) {
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
for (Cookie cookie : cookies) {
Cookie sessionInfo = cookie;
String cookieString = sessionInfo.getName() + "=" + sessionInfo.getValue() + "; domain=" + sessionInfo.getDomain();
cookieManager.setCookie("http://yourdomain.com", cookieString);
CookieSyncManager.getInstance().sync();
}
}
}
Этот sync()
метод используется для управления сессии для HttpClient и WebView/browser.That, если вы хотите, чтобы выполнить что-то, как вы войти в из нативного приложения и хотите, чтобы какая-то конкретная операция в webview требовала входа в систему, этот метод будет управлять общим сеансом между приложением и веб-браузером/браузером.
Что это за функция синхронизации? –
- 1. feedpp и session ID
- 2. Session ID значение ошибка
- 3. Codeigniter change session id
- 4. Mule: Invalid Session ID
- 5. node.js express cookie-session session id undefined
- 6. Codeigniter Session ID issue
- 7. недействительных Session Id
- 8. Spring SessionRegistry session id
- 9. Rails 4.1.6 session ID
- 10. Change Thread Session ID
- 11. Получить значение Session на основе его ID
- 12. django-session-security session не истекает
- 13. Stealing session id cookie - встречные меры
- 14. Django, session attr
- 15. Как восстановить laravel Session id
- 16. Создание Session-Id в JSP?
- 17. Python Django Session
- 18. django session user
- 19. Django - Losing Auth Session
- 20. Django session scope
- 21. php session id не соответствует
- 22. MIssing Asp.Net Session ID Cookie
- 23. ModelForm с Instance = Session ID
- 24. Django Session не работает на Heroku
- 25. Django Session Не соответствует запросу
- 26. Django set django session cookie programatically
- 27. Проблема с сеансом Django (django-session-security)
- 28. Django custom backend Session Timeout
- 29. Django session lost data (пусто)
- 30. Django session delete json object
Вы нашли решение для этого. –