А что по твоему содержит StrPage после выполнения: Code: StrPage:=idhttp1.Get('http://www.site.ru/moodle/login/index.php'); Хотя ладно. Скорее всего нужно: Code: resultat:=idhttp1.Post("http://www.site.ru/moodle/login/index.php", Data);
Code: StrPage:=idhttp1.Get('http://www.site.ru/moodle/login/index.php'); resultat:=idhttp1.Post(StrPage, Data); Это не ошибка авторизации, написано, что неверный протокол запроса. почему второй запрос идет по адресу StrPage, который наверняка содержит весь исходный код страницы?
Code: var s:string; data:tstringlist; begin data:=tstringlist.create; data.add('username=123'); data.add('password=123'); data.add('estcookies=1'); s:=http.post(http://www.tiei.ru/moodle/login/index.php, data); if pos('logininfo', s)<>0 then авторизовались else болт в чем проблема?
Попробуй юзать то, что в пм скидывал, после попробуй загрузить Memo страницу какую-нибудь, которая должна быть доступна после авторизации. И ещё, попробуй логин/пароль взять в ANSIToUTF8()
idHTTP1.HandleRedirects:=true; - в этом проблема. Попробуй убери это и вводи сначала верные данные, потом неверные, и смотри результат)
Кароче смотри, когда авторизация не успешна, у тебя в Memo1.Text попадает страница http://www.tiei.ru/moodle/login/index.php, в исходном коде которой тоже есть navbutton. Вот. Дальше сам разберёшься.
Не попадает, проверь. Если ты не авторизован, то тебя редиректит на http://www.tiei.ru/moodle/login/index.php, и в test попадает именно она.
эта страница http://www.tiei.ru/moodle/my/ доступна только после авторизации, так? попробуй проверять по главной странице, например, есть ли в auth слова: Добро пожаловать (Вход) Code: procedure TForm1.Button1Click(Sender: TObject); var auth, test:string; Data:TstringList; begin idhttp1.HandleRedirects:=true; idhttp1.CookieManager:=idcookiemanager; Data := TStringList.Create; Data.Add('username='+ANSIToUTF8(Edit1.Text)); Data.Add('password='+ANSIToUTF8(Edit2.Text)); Data.Add('testcookies=1'); auth := idHTTP1.Post('http://www.tiei.ru/moodle/login/index.php', Data); if Pos(ANSItoutf8('Добро пожаловать (Вход)'), auth)<>0 then Label3.Caption:='da' else Label3.Caption:='net'; Data.Free; end;