Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2008.12.28;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
15-1225264023
depr
2008-10-29 10:07
2008.12.28
Извиняюсь. Еще вопросик, не успел.


15-1224967937
Kolan
2008-10-26 00:52
2008.12.28
А хотите задачку из области разработки интерфейсов?


4-1202741795
dreamse
2008-02-11 17:56
2008.12.28
Как получить список работающих на данный момент DLL от всех


1-1205087203
Toha
2008-03-09 21:26
2008.12.28
Проблема с качеством картинок.


2-1226816784
aNtId
2008-11-16 09:26
2008.12.28
работа с реестром





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский