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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2009, 16:58   #1
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
По умолчанию TidHTTP - не могу залогиниться на сайте

Не получается залогиниться на сайте http://letitbit.net/login.php (логин и пароль указаны в коде примера)

на форме лежит IdHTTP1 и к нему привязан IdCookieManager1, в компонента IdHTTP1 включены свойсва AllowCookies и HahdleRedirects

Delphi7 + Indy 10.2.3

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  // получаем куки
  Memo1.Text := IdHTTP1.Get('http://letitbit.net/login.php');
  Memo1.Lines.SaveToFile('c:\1.html');

  sl.Add('log=etotest');
  sl.Add('pas=etotest');
  sl.Add('inout=%C2%F5%EE%E4);

  // логинимся
  IdHTTP1.Request.Referer := 'http://letitbit.net/login.php';
  Memo1.Text := IdHTTP1.Post('http://letitbit.net/tmpl/login.php', sl);
  Memo1.Lines.SaveToFile('c:\2.html');
  // необязательно, проверка залогинились ли
  Memo1.Text := IdHTTP1.Get('http://letitbit.net');
  Memo1.Lines.SaveToFile('c:\3.html');

  sl.Free;
end;
В чем может быть проблема?

p.s. с логином на другие сайты проблем не замечено, а тут прям стена

Последний раз редактировалось Usov; 21.10.2009 в 17:00.
Usov вне форума Ответить с цитированием
Старый 22.10.2009, 23:51   #2
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Может попробовать добавить к IdHTTP1.Request еще параметров? UserAgent, например, и т.п.
Voody вне форума Ответить с цитированием
Старый 23.10.2009, 00:16   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

там нет скрытых полей?
и прочего?

проще всего сниферить=)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.10.2009, 01:09   #4
Anatol_rus
Пользователь
 
Регистрация: 30.09.2008
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Usov Посмотреть сообщение
Не получается залогиниться на сайте http://letitbit.net/login.php (логин и пароль указаны в коде примера)

на форме лежит IdHTTP1 и к нему привязан IdCookieManager1, в компонента IdHTTP1 включены свойсва AllowCookies и HahdleRedirects

Delphi7 + Indy 10.2.3

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  // получаем куки
  Memo1.Text := IdHTTP1.Get('http://letitbit.net/login.php');
  Memo1.Lines.SaveToFile('c:\1.html');

  sl.Add('log=etotest');
  sl.Add('pas=etotest');
  sl.Add('inout=%C2%F5%EE%E4);

  // логинимся
  IdHTTP1.Request.Referer := 'http://letitbit.net/login.php';
  Memo1.Text := IdHTTP1.Post('http://letitbit.net/tmpl/login.php', sl);
  Memo1.Lines.SaveToFile('c:\2.html');
  // необязательно, проверка залогинились ли
  Memo1.Text := IdHTTP1.Get('http://letitbit.net');
  Memo1.Lines.SaveToFile('c:\3.html');

  sl.Free;
end;
В чем может быть проблема?

p.s. с логином на другие сайты проблем не замечено, а тут прям стена
http://programmersforum.ru/showthread.php?t=67285 - моя статья про авторизацию и аутентификацию вам в помощь,через вининет делай все гораздо проще))))
Anatol_rus вне форума Ответить с цитированием
Старый 23.10.2009, 09:34   #5
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
По умолчанию

Цитата:
Сообщение от Anatol_rus Посмотреть сообщение
http://programmersforum.ru/showthread.php?t=67285 - моя статья про авторизацию и аутентификацию вам в помощь,через вининет делай все гораздо проще))))
Спасибо за статью, только я очень сильно сомневаюсь что проще
Usov вне форума Ответить с цитированием
Старый 23.10.2009, 09:44   #6
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
По умолчанию

Цитата:
Сообщение от Voody Посмотреть сообщение
Может попробовать добавить к IdHTTP1.Request еще параметров? UserAgent, например, и т.п.
пробовал - не помогает
Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
там нет скрытых полей?
и прочего? проще всего сниферить=)
конечно же сниферил, иначе сюда б не писал

вот форма:
Код HTML:
        <form action="http://letitbit.net/tmpl/login.php" method="post" target="_parent">
			<tr>
				<td><span style="padding-left:5px;">Логин</span></td>

				<td colspan="2" width="219"><input type="text" name="log" id="log" /></td>
			</tr>
			<tr>
				<td><span class="style1" style="padding-left:15px;">Пароль</span></td>
				<td colspan="2" width="219"><input type="password" name="pas" id="pas"  /></td>
			</tr>
			<tr>
				<td></td>

				<td><a href='http://letitbit.net/page/feedback.php' target="_self" class="text">Забыли пароль?</a></td>
				<th align="right"><input type="submit" class="newb_small" value="Вход" onmouseover="this.className='newb2_small'" onmouseout="this.className='newb_small'" name='inout' /></th>
			</tr>
            </form>
вот заголовок моего запро из броузера:

Код:
http://letitbit.net/tmpl/login.php

POST /tmpl/login.php HTTP/1.1
Host: letitbit.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729) WebMoney Advisor
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: http://letitbit.net/login.php
Cookie: __utma=236689436.285800732.1256276358.1256276358.1256276358.1; __utmb=236689436.1.10.1256276358; __utmc=236689436; __utmz=236689436.1256276358.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
Content-Type: application/x-www-form-urlencoded
Content-Length: 42
log=etotest&pas=etotest&inout=%C2%F5%EE%E4
HTTP/1.x 302 Moved Temporarily
Server: nginx/0.7.61
Date: Fri, 23 Oct 2009 05:40:09 GMT
Content-Type: text/html
X-Powered-By: PHP/5.2.11
Set-Cookie: log=etotest; expires=Mon, 02-Nov-2009 05:39:58 GMT; path=/; domain=letitbit.net
Set-Cookie: pas=480e73d71b708b4309540beb6552c13a; expires=Mon, 02-Nov-2009 05:39:58 GMT; path=/; domain=letitbit.net
Location: http://letitbit.net/
X-Cache: MISS from proxy.omega.tdutn.priv
Via: 1.0 proxy.omega.tdutn.priv:3128 (squid/2.6.STABLE13)
Proxy-Connection: close
ответ сервера:
Код:
http://letitbit.net/

GET / HTTP/1.1
Host: letitbit.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729) WebMoney Advisor
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: http://letitbit.net/login.php
Cookie: __utma=236689436.285800732.1256276358.1256276358.1256276358.1; __utmb=236689436.1.10.1256276358; __utmc=236689436; __utmz=236689436.1256276358.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); log=etotest; pas=480e73d71b708b4309540beb6552c13a
If-Modified-Since: Fri, 23 Oct 2009 05:37:15 GMT

HTTP/1.x 200 OK
Server: nginx/0.7.61
Date: Fri, 23 Oct 2009 05:40:09 GMT
Content-Type: text/html
X-Powered-By: PHP/5.2.11
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Fri, 23 Oct 2009 05:40:09 GMT
Cache-Control: no-cache, must-revalidate, post-check=0,pre-check=0, max-age=0
Pragma: no-cache
X-Cache: MISS from proxy.omega.tdutn.priv
Via: 1.0 proxy.omega.tdutn.priv:3128 (squid/2.6.STABLE13)
Proxy-Connection: close
Usov вне форума Ответить с цитированием
Старый 23.10.2009, 09:53   #7
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
По умолчанию

это первый у меня сайт который не поддается (кроме конечно же использующих яву), с виду все очень просто...
Usov вне форума Ответить с цитированием
Старый 23.10.2009, 13:38   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

нужен не заголовок, а поля запроса.
Код:
  sl.Add('inout=Вход');

  // логинимся
  IdHTTP1.Request.Referer := 'http://letitbit.net/login.php';
попробуйте так.

я бы посмотрел но сейчас времени нет...
может завтра утром если выйдет
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.10.2009, 15:26   #9
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
я бы посмотрел но сейчас времени нет...
может завтра утром если выйдет
не помогло, я уже думаю может с куками чего не так.
Usov вне форума Ответить с цитированием
Старый 23.10.2009, 17:06   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

версия ИнДи?
версия Делфи?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт: залогиниться автоматом на DLE и н-р отправить лс covetnik PHP 0 15.09.2009 13:44
Никак не могу залогиниться в контакт TwiX Работа с сетью в Delphi 5 06.08.2009 10:54
Не могу сделать несколько переходов на своем сайте fanny Помощь студентам 4 26.09.2008 18:13
как залогиниться автоматом? geget Работа с сетью в Delphi 43 30.08.2008 22:57