Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.28;
Скачать: CL | DM;

Вниз

Cookie в WinInet   Найти похожие ветки 

 
Derk   (2007-12-07 16:01) [0]

Здравствуйте!

Столкнулся с такой проблемой: не знаю как передать по http с помощью WinInet информацию о кукисах. Вкратце, я делаю так:

procedure TForm1.Button1Click(Sender: TObject);
var hI, hConnect, hFile:HInternet;
   Header:PChar;
begin
 hI:=InternetOpen("UserAgent", INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
 hConnect:=InternetConnect(hI, "127.0.0.1", 80, nil, nil, INTERNET_SERVICE_HTTP, 0, 0);
 hFile:=HTTPOpenRequest(hConnect, "GET", "/", HTTP_VERSION, nil, nil, INTERNET_FLAG_RELOAD, 0);

 Header:="MyX-Header: tram-pararam";
 HttpAddRequestHeaders(hFile,Header,Length(Header),HTTP_ADDREQ_FLAG_ADD);
 HTTPSendRequest(hFile, nil, 0, nil, 0);

 InternetCloseHandle(hFile);
 InternetCloseHandle(hConnect);
 InternetCloseHandle(hI);
end;

И все работает отлично. Но стоит заменить Header:="MyX-Header: tram-pararam"; на Header:="Cookie: A=B;"; и этот заголовк не посылается.

Пробовал вместо

HttpAddRequestHeaders(hFile,Header,Length(Header),HTTP_ADDREQ_FLAG_ADD);
HTTPSendRequest(hFile, nil, 0, nil, 0);


поставить

HTTPSendRequest(hFile, Header,Length(Header), nil, 0);

Такая же ерунда, любые заголовки, кроме Cookie проходят нормально.

Если кто знает, в чем дело, подскажите пожалуйста.


 
MetalFan ©   (2007-12-09 14:41) [1]

как проверял? что куки не уходят..


 
MetalFan ©   (2007-12-09 15:01) [2]

аа) ну да, если не указан INTERNET_FLAG_NO_COOKIES в HTTPOpenRequest, то WinInet сам с куками работает и твои куки в хидере вычищает.


 
Derk   (2007-12-10 09:21) [3]

Проверял - поставил себе SmallHttpServer, коннектюсь на 127.0.0.1:80, он мне показывает все заголовки запроса. У Инди нормально видны куки, у WinInet"a нет куков... Сейчас попробую с флагом поэкспериментировать


 
Derk   (2007-12-10 09:58) [4]

Все отлично! Теперь работает. Только меня немного смущает описание этого флага

INTERNET_FLAG_NO_COOKIES

Does not automatically add cookie headers to requests, and does not automatically add returned cookies to the cookie database.

Не добавляет автоматически принятые куки в базу данных - это куда, в кэш чтоли?


 
MetalFan ©   (2007-12-10 10:43) [5]


> в кэш чтоли?

угу



Страницы: 1 вся ветка

Текущий архив: 2008.12.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
2-1226768553
main
2008-11-15 20:02
2008.12.28
Быстрый Swap,


15-1224872879
Александиров
2008-10-24 22:27
2008.12.28
Термин ИВТ


8-1188571843
skvitek
2007-08-31 18:50
2008.12.28
чтение mp3 тегов


15-1225111586
frgs
2008-10-27 15:46
2008.12.28
Как зоставить сервис не обрываться ?


2-1227108107
snake-as
2008-11-19 18:21
2008.12.28
Динамическое создание компонентов и использование в виде массивов