Не получается, вот сорц Indy 10 (Delphi) http://www.sendspace.com/file/zkexfx Я уже и так и сяк https пробывал, может быть что в CookieManager вата какаято, такое чувство что с него Http не считывает куки
смотри httpanalyzer'ом че елает браузер при авторизации и делай так же: Code: procedure TForm1.Button1Click(Sender: TObject); var wsa:wsadata; s:integer; sa:sockaddr_in; q:string; buf:array[0..127] of char; begin wsastartup(makeword(2,2),wsa); s:=socket(af_inet,sock_stream,0); sa.sin_family:=af_inet; sa.sin_port:=htons(80); sa.sin_addr.S_addr:=inet_addr(inet_ntoa(pinaddr(GetHostByname('win.mail.ru')^.h_addr_list^)^)); connect(s,sa,sizeof(sa)); q:='POST /cgi-bin/auth HTTP/1.1'#13#10+ 'Host: win.mail.ru'#13#10+ 'User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0'#13#10+ 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'#13#10+ 'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3'#13#10+ 'Keep-Alive: 115'#13#10+ 'Connection: keep-alive'#13#10 + 'Referer: http://win.mail.ru/cgi-bin/login'#13#10+ 'Cookie: mrcu=813D4D81D2B455E1F97D0100007F; b=1joEACD0CAMAKg8OAQAQCS0I70QIZ2IIAQAA; p=KcsAAOF6wQAA; VID=2FMPfA2T6dms; t=obLD1AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBAQEBAIABAAEAAAhfAQ8HygcA'#13#10+ 'Content-Type: application/x-www-form-urlencoded'#13#10+ 'Content-Length: '+inttostr(length('page=&post=&login_from=&Login=login&Domain=mail.ru&Password=pass'))+#13#10#13#10+ 'page=&post=&login_from=&Login=login&Domain=mail.ru&Password=pass'; send(s,q[1],length(q),0); while recv(s,buf[0],128,0)>0 do memo1.Text:=memo1.Text+buf; closesocket(s); wsacleanup(); end; куки парсь из http-заголовка, который приходит от сервера(строки "setcoockie: ")
Покажи плиз на сорцах которые скинул чтоб при авторизации потом страницы уже норма работали, а то непонял я тебя
зачем идти в лоб когда можно через GET запрос авторизироваться.... http://games.mail.ru/mru/auth/login?login=МЫЛО&password=ПАРОЛЬ&foreign= {"ok":0} - неверный пароль {"ok":1} - верный пароль
Авторизация то проходит куки записываются в менеджер, но новые страницы когда открываешь требует авторизация, куки реально чтоле несчитываются, щас переустановлю эти Indy, вот парево
Не в браузер, я имею в виду составь запрос вручную и отправь. При логине (первом запросе) сервер тебе возвращает cookie, вырежи их с помощью строковых функций если не ошибаюсь - отсюда: Code: cookie := http.Response.RawHeaders.Text; и составь новый запрос. Code: IdHTTP1.Request.CustomHeaders.Add("тут куки которые ты получил в первом запросе."); С indy я мало работал но вроде как то так..
Во я заипался, снес короче Indy начал заново ставить последнюю версию за 3 апреля этого года и чето напартачил. переустановил делфи и воткнул все правильно откомпилировал как пишут, без ошибок. Но сами инди не появляются вкладки че за вата?
Теперь новая фигня, раньше работал код, седня днем перестал Значит авторизуюсь и вывожу заголовки Заголовок выводит: Страница мыла загружается только после ввода аккаунта, но после перехода на другие не грузит аккаунт т.к. куков Mpop не выдается в IdHTTP. Что за шняга, вчера работало все отлично.
Все разобрался, когда авторизация проходит, автоматом кидает на Redirect to: http://e.mail.ru/cgi-bin/msglist?back=1 и получается ответ предыдущий затеряется. Для этого присоединил IDCookieManager и вывод кук Получается при поступлении кук в компонент, процедура срабатывает и выводит данные в переменную ACookie, а там дальше уже обрезаем, что нужно)