Главная страница
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.009 c
2-1227103378
аврам
2008-11-19 17:02
2008.12.28
word comobj


2-1226768553
main
2008-11-15 20:02
2008.12.28
Быстрый Swap,


3-1212327199
Сашик
2008-06-01 17:33
2008.12.28
Recordset.Close


15-1225443980
clickmaker
2008-10-31 12:06
2008.12.28
Кто-нибудь разворачивал asp.net под IIS 7 на Windows 2008 Server?


9-1176369733
akaValerius
2007-04-12 13:22
2008.12.28
Подскажите в чем ошибка