Какие заголовки нужно послать серверу чтоб он вернул куку PHPSESSID?

Sanu0074
На сайте с 31.08.2012
Offline
110
1046

Я пишу android-приложение, клиент для сайта, для авторизации, капчи и т.д. нужен id сессии.

Есть тестовый скрипт на сервере, который делает вот что:

exit($_COOKIE['PHPSESSID']);

Когда из браузера к нему обращаюсь, то выводит куку, а вот когда делаю запрос с андроид-клиента, то сервер возвращает ошибку с undefinet index PHPSESSID.

Код запроса в клиенте:

InputStream is = null; 

// HTTP
try {
HttpClient httpclient = new DefaultHttpClient(); // for port 80 requests!
HttpPost httppost = new HttpPost(stringURL);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch(Exception e) {
return;
}
// Read response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
out = sb.toString();
} catch(Exception e) {
return;
}

Как нужно правильно получать PHPSESSID?

LEOnidUKG
На сайте с 25.11.2006
Offline
1724
#1

Он вам сообщает, что она не установлена. Поэтому возвращать нечего.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
I
На сайте с 28.03.2011
Offline
37
#2

под андройжом http client должен уметь хранить куки

Помогаю не только словом.. (/ru/forum/830720)
Sanu0074
На сайте с 31.08.2012
Offline
110
#3

так что нужно сделать?

I
На сайте с 28.03.2011
Offline
37
#4

для начала получить куки у сервера, сохранить и передать при следующем запросе

Sanu0074
На сайте с 31.08.2012
Offline
110
#5

imtod, так я же в теме и пишу, что обращаюсь к серверу с Android - клиента, он возвращает undefined index, а когда с браузера к этому же скрипту - то возвращает то что надо...

Скрипт вот так выглядит:

exit($_COOKIE['PHPSESSID']);


---------- Добавлено 21.12.2013 в 02:00 ----------

В принципе я думаю что есть вернуть ID сессии так: session_id(), то должно работать
siv1987
На сайте с 02.04.2009
Offline
427
#6

ID сессии (session_id()) основан на $_COOKIE['PHPSESSID'], нет $_COOKIE['PHPSESSID'] нет и ID сессии (это будет каждый раз новая сессия). Вам сначала надо - раз) убедится что ваш андроид-клиент работает с кукисами; два) при первом запросе у вас все равно PHPSESSID будет пустой, так как кука будет доступна уже при следующем запросе клиента после ее установки. Либо юзайте session_id(), он вернет ид текущей сессии.

R
На сайте с 18.12.2009
Offline
92
#7

"Куки" - это информация, которая хранится в браузере. Поэтому, сколько браузеров - столько и "кук". Если хотите что-то делать с "кукой" - сначала Вам нужно ее получить.

В одном браузере Вы ее получили, в другом нет.

И вот еще - перед тем, как делать манипуляции с данными, делайте проверку, существуют ли данные вообще.

Jekyll
На сайте с 04.05.2009
Offline
136
#8

Зачем вам вообще PHPSESSID, что вы с ней дальше будете делать? Мне кажется, вы в корне не понимаете что такое сессии и как с ними работать

A
На сайте с 12.12.2013
Offline
14
#9

так помоему это в php.ini правится - директива php.

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#10

Насколько знаю я - серверу и Пыхе пофиг на то кто делает к ним запрос, лишь бы запрос был корректный(чит: браузер и приложение посылает одинаковые ОСНОВНЫЕ заголовки). А то что Ваше приложение по каким-то причинам не хочет принять/увидеть КУКУ - проблема Ваша. Крутите свое приложение, смотрите, че приходит в ответе(заголовки ответа) сервера.

Подпись))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий