![]() |
Проблемы с 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;", А как прочитать остальные мне не известно. Кто встречался с подобным или знает решение, помогите. |
Re: Проблемы с cookies
качай обновление Lib_web.
функция get_name(int); |
Re: Проблемы с cookies
Все разобрался!!!
Pilgrim, cпасибо, но get_name не помог, у тебя возращает имя в заголовке, а не само значение и не показывает повторяющиеся. Решение оказалось простым, все через индекс: String (HttpConnection).HeaderFieldKey(index) - имя поля, если индекс превышен - null. String (HttpConnection).getHeaderField(index) - собственно значение поля. Если не сложно добавь в Lib_web, все-таки нужные ф-и. Других вариантов чтения для повторяющихся полей нет. |
Re: Проблемы с cookies
хорошо добавлю. но я не совсем понял почему у тебя не сработало:get_name(0) =
PHPSESSIDget_name(1) = phpbb2mysql_data get_name(2) = phpbb2mysql_sid а потом по именам получить их значения. Странно :( |
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