Авторизация на сайте

Тема в разделе "Delphi - Сети", создана пользователем Dock1100, 18 май 2010.

  1. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Как с помощу Delphi можно сделать авторизацию на сайте, можете расказать в общих чертах и доступно(что б можно было применик почти к любому сайту).
    В гугле нашол вот это, но почти ниче не понял, зашол на mail.ru нашол в коде что то похожее, но оно почти абсолютно другое.
     
  2. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Нуу.. Там в статье вам все написали. Я детально не просматривал, но на первый взгляд описан вполне себе самый просто и рабочий метод..
    Если сократить то все сводится к тому что
    1. Открываешь исходник страницы.
    2. Находишь саму форму авторизации
    3. Смотришь каким методом передаются параметры(GET или POST, варианта всего 2)
    4. Далее смотрятся имена самих полей, куда вводится логин пароль и всех остальных(если есть) включая всякие hidden'ы.
    5. Далее там в статье описано как эти параметры передаются серверу..

    Добавлено: пс. Для вышенаписанного, безусловно, надо подучить html
     
  3. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Зашол на страницу аторизации Вконтакте через Оперу, нажал просмотреть исходниый код
    заменил
    Код (Text):
     <form method="post" name="login" id="login" action="http://login.vk.com/?act=login" onsubmit="if (vklogin) {return true} else {quick_login();return false;}">
    <label for="email">E-пошта або Логін:</label>
    <input class="inputText" onfocus="show('expirePad');" type="text" name="email" id="email" size="20" />
    <label for="pass" style="margin-top: 5px">Пароль:</label>
    <input class="inputText" onfocus="show('expirePad');" type="password" name="pass" id="pass" size="20" style="margin-bottom: 2px" />
    <div id="expirePad"><input type="hidden" name="expire" id="expire" value="1" /></div>
    <input type="hidden" name="vk" id="vk" value="">
    на
    Код (Text):
     <form method="post" name="login" id="login" action="http://login.vk.com/?act=login" onsubmit="if (vklogin) {return true} else {quick_login();return false;}">
    <label for="email">E-пошта або Логін:</label>
    <input class="inputText" onfocus="show('expirePad');" type="text" name="email" id="email" size="20" value='почта' />
    <label for="pass" style="margin-top: 5px">Пароль:</label>
    <input class="inputText" onfocus="show('expirePad');" type="password" name="pass" id="pass" size="20" style="margin-bottom: 2px" value='пароль'/>
    <div id="expirePad"><input type="hidden" name="expire" id="expire" value="1" /></div>
    <input type="hidden" name="vk" id="vk" value="">
    нажал применить изменения, и нужные поля заполнились.
    Нажал кнопку войти и вошол.
    Вопрос:
    Как это можно сделать через TIDHTTP(только заменить код и обновить страницу из этого кода)?

    ЗЫ В этом я пустой чайник
     
  4. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Код (Delphi):
    var params,responseres:tstringlist;
    begin
    params:=TStringList.Create;
    responseres:=TStringList.Create;
    try
    params.Add('email=почта');
    params.Add('pass=пароль');
    params.Add('vk=');
    params.Add('expire=1');
    responseres.Text:=http1.Post('http://login.vk.com/?act=login',params);
    if Pos('logout',responseres.Text)>0 then
    ShowMessage('Авторизовались!');
    finally
    params.free;
    responseres.free;
    Как-нибудь так
     
  5. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Я так пробовал, но ниче не получалось.
     
  6. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Куки включил?
    зы.
    Найди еще что такое vklogin и Quicklogin().
    ЗЗЫ.
    У контакта есть специальное API для работы с ним. МБ проще его использовать?
     
  7. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Quicklogin(). - отправка запроса(кнопка войти).
     
  8. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Я про саму функцмю на JS. Что там делается?
     
Загрузка...

Поделиться этой страницей