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

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

08.04.2010, 15:39. Просмотров 4420. Ответов 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мин. Буду очень благодарен!
http://www.cyberforum.ru/delphi-networks/thread1976898.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2010, 15:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Авторизация на сайте (Delphi):

Авторизация на сайте
Здравствуйте помогите пожалуйста как сделать авторизацию сайта 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
Привет! Вот еще темы с решениями:

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

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

Авторизация на сайте
Добрый день! Создаю для школы программку эмитирующую авторизацию пользователя!...

Авторизация на сайте
Всем привет! Подскажите, как написать программу на Delphi 7.0, которая будет...


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

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

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