Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Сети
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
fAtliNg
0 / 0 / 0
Регистрация: 20.05.2014
Сообщений: 6
1

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

08.04.2010, 15:39. Просмотров 4451. Ответов 1
Метки нет (Все метки)

Вобщем есть рабочий код проверки прошла авторизация на сайте или нет.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm5.btn1Click(Sender: TObject);
var params,responseres:tstringlist;
begin
  params:=TStringList.Create;
  responseres:=TStringList.Create;
  try
    params.Add('username=логин');
    params.Add('password=пароль');
    responseres.Text:=idhttp1.Post('auth ссылка',params);
    if Pos('logout',responseres.Text)>0 then
      ShowMessage('Авторизовались!');
  finally
    params.free;
    responseres.free;
  end;
end;
Но этот код работает не везде.. Например где есть ssl https код отказывается работать. Что делать в таких случиях?

Добавлено через 16 минут
Вот на всякий случай ссылка где нужно авторизоваться http://www1.garena.com/clan/index.php?module=login

Добавлено через 10 часов 19 минут
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm5.btn1Click(Sender: TObject);
var params,responseres:tstringlist;
begin
  params:=TStringList.Create;
  responseres:=TStringList.Create;
  try
    params.Add('username=логин');
    params.Add('password=пароль');
    params.Add('cookies_life=None');
    responseres.Text:=idhttp1.Post('http://www1.garena.com/clan/index.php?module=login',params);
    if Pos('log out',responseres.Text)>0 then
      ShowMessage('Авторизовались!');
  finally
    params.free;
    responseres.free;
  end;
end;
По идеи при правильном логине и пароле должно сработать, но не работает. Помогите)

Добавлено через 4 часа 11 минут
Никто не знает? Тут же наверное совсем не сложно. Для знающего человека делов на 5мин. Буду очень благодарен!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2010, 15:39
Ответы с готовыми решениями:

Авторизация на сайте
Всем привет, мне нужна помощь. Я хочу написать программу с авторизацией(с...

Авторизация на сайте
Здравствуйте помогите пожалуйста как сделать авторизацию сайта ok.ru

Авторизация на сайте
var Form1: TForm1; HTTP:TIdHTTP; HTML,cookie:string; resp:integer;...

Авторизация на сайте
Здравствуйте. Интересует такой вопрос: возможно ли написать скрипт авторизации...

Авторизация на сайте
Нужно сделать авторизацию на сайте (игры Travian - http://tx3.travian.ru/) ...

1
ZZnOB
11 / 11 / 4
Регистрация: 22.07.2009
Сообщений: 28
08.04.2010, 21:12 2
Как пример пойдет?
Для работы с HTTPS при помощи Indy необходимо скачать библиотечки
libeay32.dll и ssleay32.dll ссайта . Допустим что у нас есть сайт test.com и на нём надо ввести логин (test_login) и пароль (test_pwd). Заходим на сайт, открываем его хтмл код, ищем форму ввода логина пароля. Допустим она имеет вид
HTML5
1
2
3
4
5
6
<form id='auth' action='https://test.com/stats/' method='post'>
<input type="text" name="UID" size="16" style="height:20px;" />
<input type="password" name="pwd" size="16" style="height:20px;"/>
<input type="hidden" name="act" value="login" />
<input type="image" src="/img/knp.gif" alt="Auth" />
</form>
Из этого куска видно что, что нам понадобятся 3 поля:
UID, pwd, act.

Для того чтобы сформировать запрос авторизации, необходимо заполнить все 3 поля. Формировать запрос будем при помощи TStringList.

Delphi
1
2
3
4
5
6
var
Send:TStringList;
...
Send.Add('UID=test_login'); // UID= логин
Send.Add('pwd=test_pwd'); // pwd= пароль
Send.Add('act=login'); // act = login - выдрали из формы
Итак, чтобы отправить запрос авторизации необходимо на форму кинуть IdHTTP , IdSSLIOHandlerSocketOpenSSL и IdCookieManager (используется Indy10 в Delphi2009) и связать IdHTTP с IdSSLIOHandlerSocketOpenSSL и IdCookieManager.

Собственно отсылание запроса авторизации укладывается в след. строчках:
Delphi
1
2
3
4
5
6
7
try
Recv.Text:=IdHTTP1.Post('https://test.com/stats/',Send);
except
// ошибка при запросе
end;
 
Recv = TStringList - сюда приходят данные после отправления запроса.
Добавлено через 7 минут
http://www.webdelphi.ru/2010/01/syna...abota-s-https/ вот это почитай... Думаю поможет
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2010, 21:12

Авторизация на сайте
Подскажите,в чем ошибка.Мучаюсь уже пару дней. Вот сам код авторизации ...

Авторизация на сайте
Здравствуйте! Проблема следующая: пытаюсь авторизоваться на сайте...

Авторизация на сайте
Здравствуйте. помогите пожалуйста. пытаюсь авторизоваться на сайте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru