Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Работа с куками (cookie) на низком уровне (http://forum.oszone.net/showthread.php?t=106708)

mrcnn 10-05-2008 18:07 799028

Работа с куками (cookie) на низком уровне
 
Низкий уровень означает что работа идет непосредственно на уровне http запросов. {Соответственно я буду признателен, если никто не заведет речь о высокоуровневых функциях.}

Язык не важен, хочу понять как преобразуются данные на стороне клиента и сервера.
Сервер отвечает на HTTP запрос и дает мне "Set-Cookie:" (при авторизации)
Как это преобразовать и обработать, чтобы отдать потом серверу обратно в http запросе "Cookie: *"?

Coutty 10-05-2008 18:56 799072

Собственно, копировать данные после Set-Cookie: до конца строки и вставить после Cookie:
В чём вопрос-то?

mrcnn 10-05-2008 20:01 799105

Если несколько Set Cookie в заголовке, как они объединяются?
И чего прямо и отправлять PHPSESSID=8610f32c44748429f4e35a2a06243fb1; path=/; domain=.** ?

Coutty 10-05-2008 20:15 799119

Рекомендую воспользоваться программой Wireshark. Это снифер трафика. Запусти прослушивание сети и открой какую-нибудь страничку. Там отобразятся все пакеты на низком уровне. Хочешь - http-протокол изучай, хочешь - IP.

Вот примерно так получается:

GET /logo;dnevnik_939772?27.1 HTTP/1.1
User-Agent: Opera/9.23 (X11; Linux x86_64; U; en)
Host: counter.yadro.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Cookie: VID=22df42hXD2BWsmQ; VID=dfedb8aetsWsmV
Cookie2: $Version=1
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailers

mrcnn 11-05-2008 19:30 799744

Зачем мне сниффер?

ну, поставил я вчера Commview. Просто позарез нужно было выяснить как конкретный файл куков передается (там файл, где я уже залогинен и запомнен) (эффективный самописный скрипт для закачки отдельно взятого форума по топикам). Как IE преобразовал файл куков из директории Cookies, я не понял, там все как-то по хитрому - но то, что отдал IE, сработало и в моем скрипте.
Мне нужна теория (!!!), чтобы понимать, как преобразовываются все эти данные из заголовка.

Моя цель : написать собственный обработчик куков, чтобы он работал для любого сайта. Программа тупо закачивает сайты, нужно реализовать куки. Чужой сниффер и чужой браузер я запихать в свою программу не могу, нужно действовать своим умом. Каждый раз брать из сниффера я не могу - если сайтов тысяча или две тысячи - жизни не хватит, у меня и другие дела есть.

Sham 11-05-2008 20:44 799818

mrcnn, это RFC 2109 ( http://www.ietf.org/rfc/rfc2109.txt ) - приятного чтения ;)

Sham 11-05-2008 20:59 799830

http://www.ietf.org/rfc/rfc2965.txt поновее вроде....


Время: 12:12.

Время: 12:12.
© OSzone.net 2001-