Приветствую Всех!
Ребят помогите разобраться.
Не получается получить ВСЕ cookie в запросе...
Делаю так:
HttpWebRequest^ request;
HttpWebResponse^ response;
try
{
request = dynamic_cast<HttpWebRequest^>(HttpWebRequest::Create( adressURL ));
request->CookieContainer = gcnew CookieContainer;
response = dynamic_cast<HttpWebResponse^>(request->GetResponse());
response->Cookies = request->CookieContainer->GetCookies( request->RequestUri );
System::Collections::IEnumerator^ myEnum = response->Cookies->GetEnumerator();
while ( myEnum->MoveNext() )
{
Cookie^ cook = safe_cast<Cookie^>(myEnum->Current);
textBox1->Text += cook->Name+" = "+cook->Value;
}
}
catch (WebException^ exc)
{
listBox1->Items->Add(exc);
} В итоге получаю только одну cookie - SESSIONID...
А если проверить страницу javascript`ом - javascript:alert(document.cookie), то показываются 2 cookie SESSIONID и guestid...
Не пойму...
Может guestid тебе дадут только когда авторизуешься на сервере?
Skunk
В том то и дело, что нет... guestid создается при посещении страницы (безо всяких авторизаций).
А дай как мне ссылку на сайт. Я снифером поковыряюсь в заголовке )
Извиняюсь. Что-то на работе снифер издох. Дома посмотрю.
Нет проблем))
Увидел в заголовках только
Set-Cookie: JSESSIONID=...
и
Set-Cookie: LETITBIT_REMEMBER_ME_COOKIE=...
guestid не вижу в упор. Даже зарегистрировался...
Странно... У меня и на работе и дома javascript:alert(document.cookie) показывает guestId и JSESSIONID, а откуда guestId берется ума не приложу...

while ( myEnum->MoveNext() )
{А разве эта конструкция не пропустит первый элемент в коллекции?
veon
Не... не пропустит... Даже пробовал узнать сколько cookie регистрируется (response->Cookies->Count) выводит 1.
Интересно, как же они создают этот guestId?
Что удивительно, используя компонент WebBrowser кук guestId виден!
Сервер вполне может генерить разные куки в зависимости от параметров запроса. Хотя бы от того же User-Agent-а.
Тема в архиве.