Здравствуйте! Прошу помочь. У меня программа по не понятной причине не отправляет куки, из-а этого я не могу передвигаться по форуму через программу. Стоит indy 10.5. Для других сайтов куки отправляет. Вот собственно код: Code: var LoginInfo,LoginInfo2: TStringList; html:WideString; Response,Response2: TStringStream; pic: TJPEGImage; pre: TMemoryStream; md5pass,s: string; begin LoginInfo := TStringList.Create; Response := TStringStream.Create(''); LoginInfo2 := TStringList.Create; Response2 := TStringStream.Create(''); pic:= TJPEGImage.Create; pre:= TMemoryStream.Create; begin Http := TIdHTTP.Create(Self); Cookie := TidCookieManager.Create(nil); HTTP.Cookiemanager := cookie; HTTP.AllowCookies:=True; HTTP.HandleRedirects := True; http.request.useragent := 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.01'; http.request.host := 'zhyk.ru'; http.request.Accept := 'text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'; http.request.AcceptLanguage := 'ru-RU,ru;q=0.9,en;q=0.8'; http.request.Referer := 'http://zhyk.ru/forum/'; http.request.Connection := 'Keep-Alive'; http.request.ContentType := 'application/x-www-form-urlencoded'; try LoginInfo.Add('vb_login_username='+sedit1.text); LoginInfo.Add('cookieuser=1'); LoginInfo.Add('vb_login_password='+sedit2.Text); LoginInfo.Add('s='); LoginInfo.Add('securitytoken=guest'); LoginInfo.Add('do=login'); LoginInfo.Add('vb_login_md5password='); LoginInfo.Add('vb_login_md5password_utf='); http.Post('http://zhyk.ru/forum/login.php?do=login',LoginInfo, Response); sEdit3.Text := ParsToString('<input id="hash" type="hidden" name="humanverify[hash]" value="', Response.DataString, '" />'); sEdit4.Text := ParsToString('<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=', Response.DataString, '">'); html := http.Get('http://api.recaptcha.net/challenge?k='+sEdit4.Text); sEdit5.Text := Pars('challenge :', html, ','); http.Get('http://www.google.com/recaptcha/api/image?c='+sedit5.text, pre); pre.Position := 0; pic.LoadFromStream(pre); form2.Image1.Picture.Assign(pic); form2.showmodal; md5pass := StrToHex(MD5(sedit2.text)); sedit6.Text:=md5pass; LoginInfo2.Add('humanverify[hash]='+sedit3.text); LoginInfo2.Add('recaptcha_challenge_field='+sedit5.text); LoginInfo2.Add('recaptcha_response_field='+form2.sedit1.Text); LoginInfo2.Add('s='); LoginInfo2.Add('securitytoken=guest'); LoginInfo2.Add('do=dologin'); LoginInfo2.Add('vb_login_password='+sedit6.text); LoginInfo2.Add('vb_login_username='+sedit1.text); LoginInfo2.Add('url=http://zhyk.ru/'); LoginInfo2.Add('cookieuser=1'); LoginInfo2.Add('postvars='); LoginInfo2.Add('logintype='); LoginInfo2.Add('cssprefs='); http.Post('http://zhyk.ru/forum/login.php?do=dologin',LoginInfo2, Response2); sEdit8.Text := ParsToString('<p class="smallfont"><a href="', Response2.DataString, '">'); http.Get(sEdit8.Text); if pos('Спасибо, что зашли, '+sedit1.Text, Response2.DataString) <> 0 then ShowMessage('Успешный вход!') else ShowMessage('Неверный пароль!!!'); except LoginInfo.Free; Response.Free; LoginInfo2.Free; Response2.Free; pic.Free; pre.Free; end; end;
А что мешает принять куки вручную из заголовков сервера? Отучивайтесь уже надеяться на чудокомпоненты...