1. Главная
  2. /
  3. Delphi
  4. /
  5. Delphi авторизация на сайте DLE с помощью idHTTP

Delphi авторизация на сайте DLE с помощью idHTTP

Delphi авторизация на сайте DLE с помощью idHTTP Недавно задумался над тем что было бы неплохо постить автоматом новости на новостные порталы под чудесной CMS DLE, но для начала надо научиться авторизовываться автоматом, подумал я, и не долго думая достал запылившийся Delphi, запустил.
На форму кинул два Edit-a, одну кнопку которую успешно обозвал Авторизироваться и компонент idHTTP.
У меня получилась такая страшненькая форма:
form
где:
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;

Если авторизация прошла успешно, то получим окно с сообщением Авторизовались! иначе Авторизация не удалась!

Поделиться ссылкой на статью

23 комментария. Оставить новый

  • ovpmusic
    03.01.2017 17:45

    А как теперь проверить в какой группе этот пользователь с логином и паролем которого произошла авторизация?
    Спасибо!

    Ответить
  • Олег
    03.01.2017 17:44

    А как теперь проверить в какой группе этот пользователь с логином и паролем которого произошла авторизация?
    Спасибо!

    Ответить
  • Алексей
    01.02.2014 17:33

    будет ли обновление?

    Ответить
  • username
    18.12.2012 07:33

    Проверь снифером, что отправляет браузер и что отправляет программа.
    Возможно необходимо переписать алгоритм авторизации под себя

    Ответить
  • но, на стороне сервера клиент еще не авторизован, т. е. ид юзера сохраняется в пременной сессии, только при переходе по login.php?user=testuser

    Ответить
  • username
    17.12.2012 11:01

    if Pos(‘login.php?user=testuser’,Response.Text)>0 then
    ShowMessage(‘Авторизовались!’)

    Ответить
  • а если в Response.Text
    переход на другую страницу
    например
    document.location.href=’login.php?user=testuser’

    Ответить
  • username
    11.11.2012 20:06

    В точку!
    Абсолютно с тобой согласен!

    Ответить
  • lastwagen
    11.11.2012 19:20

    В упор не понимаю, откуда вечно возьмется ложка дегтя?! Вот, никак без нее. Всегда же находиться некая дрянь, которая придет и нагадит без каких либо оснований, а только потому, что свербит в очке.

    Ответить
  • username
    07.11.2012 12:36

    Будь проще!
    Если есть чем поделиться — поделись, обсирать каждый может, а напрячь остатки прямых извилин видимо нет!
    Just smile.

    Ответить
  • Пшли нахуй
    07.11.2012 12:21

    Полная хуйня а не урок.

    Ответить
  • username
    15.01.2012 23:18

    отсылать в правильной кодировке на сайт, проанализируй любым снифером запрос который делашь через сайт, и попробуй реализовать это программно

    Ответить
  • Дмитрий
    15.01.2012 23:07

    как сделать чтобы не только английские, но и руские буквы можно было использовать?

    Ответить
  • username
    13.10.2011 16:35

    =)))) забавно)

    Ответить
  • Степан
    13.10.2011 13:43

    Собственно оставил комментарий только чтобы покрутить картинки в антикаптче ^_^

    Ответить
  • username
    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

    Спасибо за урок, но мне интересно как сделать авторизацию и что бы в компанент веббраузер все передавало? Если не сложно выложите урок я думаю будет многим полезно

    Ответить
  • username
    16.05.2011 21:57

    с капчей не ковырялся ни разу, но не думаю что там сложно, будет время гляну, просто найти идентификатор картинки, загрузить ее, ну как-то так, в общем как попробую выложу рабочий кусок, если есть наработки кидай сюда, сфарганим вместе что-то 🙂

    Ответить
  • А вот как с капчей быть?

    Ответить
  • username
    07.02.2011 20:49

    без проблем!

    Ответить
  • Все так легко и просто! Давай еще!

    Ответить
  • Dimitriy
    28.01.2011 23:33

    Ух-ты! Интересненько… и как все гениальное просто! А продолжение будет?

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Категории

Меню