forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Проблемы с cookies (http://forum.boolean.name/showthread.php?t=3032)

minibt 27.03.2007 16:36

Проблемы с cookies
 
В общем возникла проблема с чтение cookies.
Дело в том что, сервер устанавливает не одно значение, а три Set-Cookie.

Пример http заголовка:
Server: nginx/0.5.8
Date: Tue, 20 Mar 2007 09:51:36 GMT
Content-Type: text/html
Connection: close
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-X-Powered-By: PHP/5.1.6
Set-Cookie: PHPSESSID=hgm1djutrhu22ufh3gg3aftondjm8pmp;
Set-Cookie: phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22;
Set-Cookie: phpbb2mysql_sid=a0173fb1f0a027b3427b2fa88e0fb06a;
Location: index.php

В результате GetHttpHeader (и get_header из Lib_web.class) возращает только первое значение
PHPSESSID=hgm1djutrhu22ufh3gg3aftondjm8pmp;",

А как прочитать остальные мне не известно.
Кто встречался с подобным или знает решение, помогите.

Piligrim 29.03.2007 01:04

Re: Проблемы с cookies
 
качай обновление Lib_web.
функция get_name(int);

minibt 02.04.2007 20:14

Re: Проблемы с cookies
 
Все разобрался!!!

Pilgrim, cпасибо, но get_name не помог, у тебя возращает имя в заголовке, а не само значение и не показывает повторяющиеся.

Решение оказалось простым, все через индекс:
String (HttpConnection).HeaderFieldKey(index) - имя поля, если индекс превышен - null.
String (HttpConnection).getHeaderField(index) - собственно значение поля.

Если не сложно добавь в Lib_web, все-таки нужные ф-и. Других вариантов чтения для повторяющихся полей нет.

Piligrim 03.04.2007 12:50

Re: Проблемы с cookies
 
хорошо добавлю. но я не совсем понял почему у тебя не сработало:get_name(0) =
PHPSESSIDget_name(1) = phpbb2mysql_data
get_name(2) = phpbb2mysql_sid
а потом по именам получить их значения. Странно :(

minibt 03.04.2007 14:39

Re: Проблемы с cookies
 
У меня get_name примерно так сработала:
get_name(0) = Server
get_name(1) = Content-Type
.....................................
get_name(4) = Cache-Control
get_name(5) = Set-Cookie (PHPSESSID)
get_name(6) = Set-Cookie (phpbb2mysql_data)
get_name(7) = Set-Cookie (phpbb2mysql_sid)

А дальше

get_header(get_name(5)) = PHPSESSID
get_header(get_name(6)) = PHPSESSID
get_header(get_name(7)) = PHPSESSID

то есть выдает только первый кук из трех. По именам повт. значения нельзя получить, только через индекс. Это офиц. баг midp за номером ID139274


Часовой пояс GMT +4, время: 16:15.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot