Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Проблемы с куками в idhttp (https://forum.antichat.xyz/showthread.php?t=172108)

SultanOFF 20.01.2010 17:43

Проблемы с куками в idhttp
 
Здравствуйте. Авторизуюсь на сайте с помощью подобного кода:
Код:

Http := TIdHTTP.Create(Self);
    CM := TidCookieManager.Create(Http);
    responders:=TStringList.Create;
    Http.AllowCookies := true;
    Http.CookieManager := CM;
    Http.HandleRedirects := true;
        Http.Request.Host:='xxx.com/';
    Http.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10';
    Http.Request.Accept:='Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
    Http.Request.AcceptLanguage:='ru,en-us;q=0.7,en;q=0.3';
    Http.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
    Http.Request.Referer:='http://xxx.com/';
mmo1.Text:= http.Post('http://xxx.com/', responders);

авторизуюсь успешно, все окей но почему то куки не сохраняются. Хотя вернее будет сказать сохраняются, но допустим если к тому коду добавить еще
Код:

mmo1.Text:= http.get('http://xxx.com/');
то уже как будто Я не авторизован. Хотя вроде во всех мануалах где Я читал написано что достаточно так прописать
Код:

CM := TidCookieManager.Create(Http);
Http.AllowCookies := true;
    Http.CookieManager := CM;

и куки с проблем не будет..отнюдь.. Даже незнаю в чем может быть проблема..Помогите пожалуйста

Инди последней версии, делфи 7

Chrome~ 20.01.2010 18:49

Обрати внимание, что правильно писать не так:
Код:

Http.Request.Host:='xxx.com/';
а так:
Код:

Http.Request.Host:='xxx.com';
Если не ошибаюсь, то куки в TidCookieManager зависят от хоста. То есть каждому хосту принадлежат свои куки.

Проверь, одинаковые ли у тебя хосты перед вызовами Get и Post запросов.

SultanOFF 21.01.2010 05:44

а как это проверить подскажи пожалуйста :)

RedFern.89 22.01.2010 11:39

иногда сервер выдает кривые куки. например когда я прогу для контакта писал, я исправлял куки. там было domain=.vkontakte.ru точка в начале домена недопустима и idhttp не может хранить такие куки.

DeepSy 22.01.2010 11:49

мдаа. хоть не в теме, но спасибо.

RedFern.89 22.01.2010 12:10

хотя это неверное предположение. Если бы такая ошибка была, то и автоизация бы не прошла.. прошу прощения

RedFern.89 22.01.2010 12:15

а в сниффере куки отображаются?

RedFern.89 22.01.2010 12:18

иногда куки могут не отображаться в ответных заголовках от сервера. в общем HTTP Analyzer тебе в помощь)

SultanOFF 22.01.2010 18:21

куки могу просмотреть, но толку от этого? Весь все равно повторно авторизоваться с ними не получается хз почему

desTiny 22.01.2010 18:31

ну блин постоянно же все спрашивают. Точно не помню, но там где-то в CookieCollection надо устанавливать что-то вроде Path := '/'


Время: 17:33