Coockie, хранение PHPSESSID во время работы приложения
Добавлено: 20 дек 2013, 13:48
Есть такой случай, есть скрипт на сервере, который добавляет коммент к посту, для того чтобы добавить этот коммент нужно ввести капчу.
Когда я в android-клиент загружаю сам пост и форму добавления коммента, картинку с капчей я загружаю в webView обчным способом loadUrl().
Таким образом я отправляю запрос на сервер чтобы получить оттуда какие либо данные:
Так вот, как правильно делать запрос чтобы хранилась PHPSESSID, чтоб при каждом запросе, сервер знал что это все в пределах одной сессии? Сессия должна жить до тех пор пока приложение в загружено в памяти, если мы вышли из приложения и потом опять зашли - то это уже новая сессия. А так в данном случае получается что когда я загрузил форму с картинкой капчи - это одна сессия, а когда я отправляю коммент и код капчи - то это уже другая сессия, и сервер не пропустит этот запрос. Как решить эту проблему?
Когда я в android-клиент загружаю сам пост и форму добавления коммента, картинку с капчей я загружаю в webView обчным способом loadUrl().
Таким образом я отправляю запрос на сервер чтобы получить оттуда какие либо данные:
Код: Выделить всё
public String exe(final String stringURL, final JSONObject jsonobj, final String parameters){
HttpURLConnection connection;
OutputStreamWriter request = null;
URL url = null;
String response = null;
try
{
url = new URL(stringURL);
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestMethod("POST");
request = new OutputStreamWriter(connection.getOutputStream());
request.write(parameters);
request.flush();
request.close();
String line = "";
InputStreamReader isr = new InputStreamReader(connection.getInputStream());
BufferedReader reader = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
// Response from server after login process will be stored in response variable.
response = sb.toString();
// You can perform UI operations here
//Log.d("mylog", "postJSON 2: "+response);
isr.close();
reader.close();
}
catch(IOException e)
{
}
return response;
}