![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
idHTTP как скачать HTML-код форума с определенным логином. [D6, WinXP]
pool © (2005-05-16 01:37:00)Вопрос: как мне соедениться с форумом с помощю idHTTP, пробовал так:
IdHTTP.Request.Username:=username;
idHTTP.Request.Password:=password;
idHTTP.Host := 'www.somesite.com';
IdHTTP.Connect;
компонент соеденяется два раза, никакой ошибки не выдает, но страницы скатываются как бутто бы я не подключился.
P.S. если здесь всё верно, то так и напишите.
(2005-11-30 19:05:00) [1]Удалено модератором
(2005-08-28 01:37:00) [2]Удалено модератором
(2005-08-28 01:34:00) [3]Удалено модератором
(2005-08-28 01:31:00) [4]Удалено модератором
(2005-08-28 01:23:00) [5]Удалено модератором
Lucas (2005-05-27 23:04:00) [6]А как сделать запрос, когда кукиса сделатьнельзя, а его нужно получить из сохраненных в ИЕ?
XProger (2005-05-22 04:20:00) [7]Delphi 7 - всё есть
pool (2005-05-20 22:11:00) [8]>Alexander Panov
Из IdHTTP.Response.CustomHeaders.Text(или IdHTTP.Response.RawHeaders.Text) получешь нужный тебе кукис,
передаешь его в IdHTTP.Request.CustomHeaders.Text := Parm.Cookies;
нету такого:
IdHTTP.Response.CustomHeaders.Text,
IdHTTP.Response.RawHeaders.Text и
IdHTTP.Request.CustomHeaders.Text.
должны быть другие параметры,
или у меня старая версия indy?
Alexander Panov (2005-05-20 19:58:00) [9]Возможно у тебя старая версия Indy. У меня v9.
Но тебе и необязательно им пользоваться см. [8] и [9]
pool (2005-05-20 19:08:00) [10]>Alexander Panov
у меня нет на панелях indy idCookieManager'a!
Где его взять?
Alexander Panov (2005-05-20 15:52:00) [11]Я так поня, что все что нужно, это добавлять к адресу:
В принципе, на этом форуме может и так, но лучше получать и устанавливать кукис, не передавая каждый раз пароль.
pool (2005-05-20 15:50:00) [12]>Alexander Panov
Большое спасибо тебе за помощь.
У меня idCookieManager'a нет, зачем он нужен?
Я так поня, что все что нужно, это добавлять к адресу:
'&ubar=logon&forumlogin=test&forumpassword=test'.
Alexander Panov (2005-05-20 15:21:00) [13]>[16] pool (20.05.05 14:30)
для решения аналлогичной задачи надо найти в исходном коде страницы <FORM>, где написано, какие параметры должны передаваться для аутентификации, и использовать их в запросе.
Alexander Panov (2005-05-20 15:17:00) [14]>[16] pool (20.05.05 14:30)
Все просто.
Добавь на форму еще idCookieManager - чтобы проще было.
Формируешь запрос(можно Get) -
Res := IH.Get(' http://elementalgames.com/forum/index.php?lang=rus&ubar=logon'+
'&forumlogin=test&forumpassword=test');
В Res получаешь код странички.
Теперь у тебя есть необходимые кукис, ты авторизован.
для дальнейшей работы достаточно использовать эти кукис во всех запросах.
pool (2005-05-20 14:30:00) [15]>[15] Alexander Panov (20.05.05 14:12)
логин - test
пароль - test
сервер - www.elementalgames.com
главная страница - http://elementalgames.com/forum/index.php?lang=rus
Alexander Panov (2005-05-20 14:12:00) [16]>[14] pool (20.05.05 14:09)
тебе что нужно?
адрес сервера, пароль, логин?
Можешь мне в аську стукнуть и сказать. Тогда на конкретном примере и разобрались бы.
pool (2005-05-20 14:09:00) [17]>[13] Alexander Panov (20.05.05 13:59)
тебе что нужно?
адрес сервера, пароль, логин?
Alexander Panov (2005-05-20 13:59:00) [18]Приведи пример запроса с авторизацией.
Я бы привел пример, но не знаю, где проверить
pool (2005-05-20 13:56:00) [19]>[11]Alexander Panov (20.05.05 13:35)
Какая еще информация нужна?
Приведи пример запроса с авторизацией.
Alexander Panov (2005-05-20 13:35:00) [20]>[10] pool (20.05.05 13:07)
Есть два поля forumlogin(text), forumpassword(password) и кнопка "Подключиться"(submit).
Есть еще какое-то действие кажется кнопки(.../index.php?lang=rus&ubar=logon), метод post.
Что мне делать?
Хотя информации все равно мало, могу предположить, что после того, как ты отправляешь информацию с авторизацией(например, метод GET или POST - заметь, что это не метод Connect!) на сервер, сервер тебе возвратит параметры кукис, которые ты должен запомнить, и передавать при дальнейших запросах.