Delphi авторизация на сайте DLE с помощью idHTTP
Недавно задумался над тем что было бы неплохо постить автоматом новости на новостные порталы под чудесной CMS DLE, но для начала надо научиться авторизовываться автоматом, подумал я, и не долго думая достал запылившийся Delphi, запустил.
На форму кинул два Edit-a, одну кнопку которую успешно обозвал Авторизироваться и компонент idHTTP.
У меня получилась такая страшненькая форма:
где:
Edit1 — поле для ввода имени пользователя
Edit2 — поле для ввода пароля
В обработчике нажатия на кнопку написал следующий код:
procedure TForm1.Button1Click(Sender: TObject); var LoginData, Response: TStrings; begin LoginData := TStringList.Create; Response := TStringList.Create; try LoginData.Add('login_name='+Edit1.Text); LoginData.Add('login_password='+Edit2.Text); LoginData.Add('login=submit'); LoginData.Add('x=0'); LoginData.Add('y=0'); Response.Text := IdHTTP1.Post('http://СЮДА ВПИСАТЬ АДРЕС САЙТА/index.php',LoginData); if Pos('logout',Response.Text)>0 then ShowMessage('Авторизовались!') else ShowMessage('Авторизация не удалась!'); finally LoginData.Free; end; end;
Если авторизация прошла успешно, то получим окно с сообщением Авторизовались! иначе Авторизация не удалась!
Поделись с друзьями:
Опубликовано 26.01.2011 в 15:50 · Автор komivlad · Ссылка
Рубрики: Delphi, DLE, Programming · Теги: delphi, dle, idhttp, авторизация
Рубрики: Delphi, DLE, Programming · Теги: delphi, dle, idhttp, авторизация
01.02.2014 в 17:33
· Ссылка
будет ли обновление?
03.02.2014 в 18:23
· Ссылка
немного не понял вопрос) можно конкретнее его поставить?)
18.12.2012 в 07:33
· Ссылка
Проверь снифером, что отправляет браузер и что отправляет программа.
Возможно необходимо переписать алгоритм авторизации под себя
18.12.2012 в 00:40
· Ссылка
но, на стороне сервера клиент еще не авторизован, т. е. ид юзера сохраняется в пременной сессии, только при переходе по login.php?user=testuser
17.12.2012 в 11:01
· Ссылка
if Pos ('login.php?user=testuser',Response.Text)>0 then
ShowMessage ('Авторизовались!')
17.12.2012 в 08:06
· Ссылка
а если в Response.Text
переход на другую страницу
например
document.location.href='login.php?user=testuser'
11.11.2012 в 20:06
· Ссылка
В точку!
Абсолютно с тобой согласен!
11.11.2012 в 19:20
· Ссылка
В упор не понимаю, откуда вечно возьмется ложка дегтя?! Вот, никак без нее. Всегда же находиться некая дрянь, которая придет и нагадит без каких либо оснований, а только потому, что свербит в очке.
07.11.2012 в 12:36
· Ссылка
Будь проще!
Если есть чем поделиться — поделись, обсирать каждый может, а напрячь остатки прямых извилин видимо нет!
Just smile.
07.11.2012 в 12:21
· Ссылка
Полная хуйня а не урок.
15.01.2012 в 23:18
· Ссылка
отсылать в правильной кодировке на сайт, проанализируй любым снифером запрос который делашь через сайт, и попробуй реализовать это программно
15.01.2012 в 23:07
· Ссылка
как сделать чтобы не только английские, но и руские буквы можно было использовать?
13.10.2011 в 16:35
· Ссылка
=)))) забавно)
13.10.2011 в 13:43
· Ссылка
Собственно оставил комментарий только чтобы покрутить картинки в антикаптче ^_^
18.08.2011 в 12:19
· Ссылка
если я правильно понял, то измени кусок кода
if Pos ('logout',Response.Text)>0 then
ShowMessage ('Авторизовались!')
else
на
if Pos ('logout',Response.Text)>0 then
ShowMessage ('Авторизовались!')
WebBrowser1.Navigate ('http://СЮДА ВПИСАТЬ АДРЕС САЙТА/index.php');
else
и все, только не забудь добавить WebBrowser1 на форму
18.08.2011 в 08:49
· Ссылка
Спасибо за урок, но мне интересно как сделать авторизацию и что бы в компанент веббраузер все передавало? Если не сложно выложите урок я думаю будет многим полезно
16.05.2011 в 21:57
· Ссылка
с капчей не ковырялся ни разу, но не думаю что там сложно, будет время гляну, просто найти идентификатор картинки, загрузить ее, ну как-то так, в общем как попробую выложу рабочий кусок, если есть наработки кидай сюда, сфарганим вместе что-то 🙂
16.05.2011 в 19:50
· Ссылка
А вот как с капчей быть?
07.02.2011 в 20:49
· Ссылка
без проблем!
01.02.2011 в 07:30
· Ссылка
Все так легко и просто! Давай еще!
28.01.2011 в 23:33
· Ссылка
Ух-ты! Интересненько... и как все гениальное просто! А продолжение будет?