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

  • Автор темы Dock1100
  • Дата начала
D

Dock1100

Как с помощу Delphi можно сделать авторизацию на сайте, можете расказать в общих чертах и доступно(что б можно было применик почти к любому сайту).
В гугле нашол , но почти ниче не понял, зашол на mail.ru нашол в коде что то похожее, но оно почти абсолютно другое.
 
V

vital

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

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

Dock1100

Зашол на страницу аторизации Вконтакте через Оперу, нажал просмотреть исходниый код
заменил
Код:
 <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="">
на
Код:
 <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(только заменить код и обновить страницу из этого кода)?

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

vital

Код:
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;
Как-нибудь так
 
D

Dock1100

Я так пробовал, но ниче не получалось.
 
V

vital

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

Dock1100

Quicklogin(). - отправка запроса(кнопка войти).
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!