Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2012, 12:03   #1
IndomiX
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 16
По умолчанию Авторизация на vbulletin (POST)

Код:
function login(nick,pass:string):boolean;
var
  http:tidhttp;
  post:tstringlist;
  s:string;
 
begin
  s:='';
  result:=false;
  http:=tidhttp.Create;
  post:=tstringlist.Create;
 
  post.Add('vb_login_username='+Form1.Edit1.Text);
  post.Add('vb_login_password='+Form1.Edit2.Text);
  post.Add('s=');
  post.Add('securitytoken=guest');
  post.Add('do=login');
  post.Add('vb_login_md5password='+md5(pass));
  post.Add('vb_login_md5password_utf='+md5(pass));
 
  try
    s:=http.Post('http://www.сайт.ru/forum/login.php?do=login',post);
  except
  end;
  if (pos('Добро пожаловать',s)>0) and (pos(nick,s)>0) then
    result:=true;
  http.free;
  post.free;
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  if login('UnDeadRocUser', 'password') then
    Showmessage('Мы успешно залогинились')
  else
    Showmessage('Пароль неверный или ошибка соединения');
end;
 
end
Естественно пытаюсь авторизоваться в булке.

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

В чем трабл?
IndomiX вне форума Ответить с цитированием
Старый 19.02.2012, 14:32   #2
IndomiX
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 16
По умолчанию Авторизация на vbulletin (POST)

Код:
function login(nick,pass:string):boolean;
var
  http:tidhttp;
  post:tstringlist;
  s:string;
 
begin
  s:='';
  result:=false;
  http:=tidhttp.Create;
  post:=tstringlist.Create;
 
  post.Add('vb_login_username='+Form1.Edit1.Text);
  post.Add('vb_login_password='+Form1.Edit2.Text);
  post.Add('s=');
  post.Add('securitytoken=guest');
  post.Add('do=login');
  post.Add('vb_login_md5password='+md5(pass));
  post.Add('vb_login_md5password_utf='+md5(pass));
 
  try
    s:=http.Post('http://www.сайт.ru/forum/login.php?do=login',post);
  except
  end;
  if (pos('Добро пожаловать',s)>0) and (pos(nick,s)>0) then
    result:=true;
  http.free;
  post.free;
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  if login('UnDeadRocUser', 'password') then
    Showmessage('Мы успешно залогинились')
  else
    Showmessage('Пароль неверный или ошибка соединения');
end;
 
end
Естественно пытаюсь авторизоваться в булке.

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

В чем трабл?
IndomiX вне форума Ответить с цитированием
Старый 19.02.2012, 14:51   #3
Lauri
Форумчанин
 
Регистрация: 01.04.2010
Сообщений: 171
По умолчанию

Попробуй логинмд5 и пасмд5 передавать пустыми
Lauri вне форума Ответить с цитированием
Старый 19.02.2012, 14:51   #4
sxcine
Пользователь
 
Аватар для sxcine
 
Регистрация: 26.05.2010
Сообщений: 78
По умолчанию

возможные ошибки:
1. сервер проверяет заголовки, а вы отправляете неверные;
2. кодировка;
3. не все параметры передаёте;
4. не принимаете кукисы, либо реддиректы выключены.
да и вообще причин много так-то)
sxcine вне форума Ответить с цитированием
Старый 19.02.2012, 15:31   #5
IndomiX
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Lauri Посмотреть сообщение
Попробуй логинмд5 и пасмд5 передавать пустыми
тоже самое
IndomiX вне форума Ответить с цитированием
Старый 19.02.2012, 15:32   #6
IndomiX
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 16
По умолчанию

Цитата:
Сообщение от sxcine Посмотреть сообщение
возможные ошибки:
1. сервер проверяет заголовки, а вы отправляете неверные;
2. кодировка;
3. не все параметры передаёте;
4. не принимаете кукисы, либо реддиректы выключены.
да и вообще причин много так-то)

параметры передаю все, проверял через Http Analyzer

странно, пфф, не знаю в чем проблема
IndomiX вне форума Ответить с цитированием
Старый 19.02.2012, 15:34   #7
IndomiX
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 16
По умолчанию



Вот еще что заметил. когда ввожу правильные данные на сайте и успешно авторизовываюсь, то в посте появляется:



cookieuser

Последний раз редактировалось IndomiX; 19.02.2012 в 15:37.
IndomiX вне форума Ответить с цитированием
Старый 19.02.2012, 18:23   #8
sxcine
Пользователь
 
Аватар для sxcine
 
Регистрация: 26.05.2010
Сообщений: 78
По умолчанию

ну так вначале получайте страницу авторизации, парсите все нужные данные и лишь потом передавайте их
sxcine вне форума Ответить с цитированием
Старый 19.02.2012, 21:00   #9
IndomiX
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 16
По умолчанию

Можно подробнее(на примере кода, пожалуйста)?
IndomiX вне форума Ответить с цитированием
Старый 19.02.2012, 21:07   #10
sxcine
Пользователь
 
Аватар для sxcine
 
Регистрация: 26.05.2010
Сообщений: 78
По умолчанию

Цитата:
Сообщение от IndomiX Посмотреть сообщение
Можно подробнее(на примере кода, пожалуйста)?
на "www.сайт.ru" ?
sxcine вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация на UCOZ с idHTTP.Post Stalkker247 Работа с сетью в Delphi 15 14.03.2012 13:34
https авторизация, обычный POST запрос не получается нужна какая дополнительная деталь temkas C# (си шарп) 1 06.12.2011 08:26
GET, POST, Авторизация и отправка сообщения на стену sashaxD Работа с сетью в Delphi 6 22.09.2011 01:29
Post авторизация fenix19910 C# (си шарп) 0 21.07.2011 21:05
Хитрая авторизация на сайте метод post OkeaH Работа с сетью в Delphi 8 27.02.2009 19:49