![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Заполнение пароля на форме [D6, D7, WinXP]
Nikefest © (2006-12-13 12:33:00)Помогите разобратся с веб-програмированием. Никогда этого не делал и не знаю что где искать.
Суть проблеммы. Есть сайт, стартовая страница которого вроде как HTML. На этой странице надо заполнить поля "Имя" и "пароль". Дальше на сайте все ссылки указывают на файлы *.php. Причем содержание страниц зависит от введенного имени. Так вот как мне в Делфях заполнить эти поля с именем и поролем и получить доступ к данным? Мне нужно просто скачать HTML код всех доступных страниц. (но это я вроде нашел как делать). Подскажите, хотя бы в какой части хелпа рыться :)
Ihor Osov'yak (2007-01-06 17:51:00) [1]TWebBrowser + mshtml как вариант.
Введение в тему http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=366
kaZaNoVa (2007-01-06 12:48:00) [2]untermensch (13.12.06 18:14) [4]
так как GET -ом передавать пароль глупо
и такое видел .... в программе администрирования одной в нашем универе когда-то ... весело было)
Nehljudov (2007-01-05 11:32:00) [3]а свойство Active у cookiemanager включил? (в 7ом оно по умолчанию выставлено)
SpellCaster (2006-12-28 16:50:00) [4]> [17] nikefest (23.12.06 22:58)
А пробовал их на 7 поставить? Если компоненты написаны норамально, что максимум полдня танцев с бубном, матюгания и замены dsgnintf во всех пакетах будет достаточно...
nikefest (2006-12-23 22:58:00) [5]Я не могу перейти на 7-ку потому что, у меня многие компоненты только для 6-ки :(
SpellCaster (2006-12-20 18:52:00) [6]> [15] Dmitrij_K (20.12.06 12:26)
Вроде этот совет уже был, но товарищ его проигнорировал...
Dmitrij_K (2006-12-20 12:26:00) [7]
> Версия Инди одинаковая? Если да, то, как я уже говорил,
> ставь сниффер и сравнивай тексты запросов, которые посылает
> прога в 7-ке и в 6-ке.
> P.S. А еще лучше - переходи на 7-ку и не парься ))
Лучше\проще\быстрей обновить Indy.
SpellCaster (2006-12-20 11:28:00) [8]Версия Инди одинаковая? Если да, то, как я уже говорил, ставь сниффер и сравнивай тексты запросов, которые посылает прога в 7-ке и в 6-ке.
P.S. А еще лучше - переходи на 7-ку и не парься ))
nikefest (2006-12-20 01:55:00) [9]> Куки присылает сервер в тексте http-ответа. Сохранять их
> можно где угодно, главное при отправке следующего http-запроса
> их вставить. Конкретно см. отличнейшую прогу SmartSniff
> ( http://www.nirsoft.net) - сам недавно ее скачал, сижу и
> млею )). Для понимания протокола http и вытаскивания внутренностей
> запроса - самое оно.
> Кстати, в ней же можно будет и сравнить, правильно ли ты
> делаешь ПОСТ-запрос.
Извините, ради бога за бестолковость. Еще раз. В Делфи-7 при вызове TIDHTTP.POST, компонент TIdCookieManager сам все сохраняет и отправляет что нужно, корече большой ему респект. В итоге я получаю нормальную страницу с данными. В Delphi-6 выполняю тот же самый пост, в ответ мне приходит текст с одним словом "Ошибка". Где там эти куки искать? Что мне нужно сохранить?
SpellCaster (2006-12-19 19:49:00) [10]> [11] nikefest (19.12.06 16:39)
> Объясните пожалуйста где взять эти куки, которые мне сервер
> пресылает и как их сохранить?
Куки присылает сервер в тексте http-ответа. Сохранять их можно где угодно, главное при отправке следующего http-запроса их вставить. Конкретно см. отличнейшую прогу SmartSniff ( http://www.nirsoft.net) - сам недавно ее скачал, сижу и млею )). Для понимания протокола http и вытаскивания внутренностей запроса - самое оно.
Кстати, в ней же можно будет и сравнить, правильно ли ты делаешь ПОСТ-запрос.
> Просто если делать универсальную вещь, можно получив код
> любой страницы выделить из нее список этих параметров?
Можно. Надо определить перечень всех возможных объявлений этих переменных, в тексте страницы искать код <form> и парсить. Или же можно попробовать выцепить их через свойства в браузере (document.forms...), но тут я не уверен.
nikefest (2006-12-19 16:39:00) [11]> Куки - это всего лишь данные, которые клиент передает серверу
> и получает от него же в заголовке http-запроса. Никто не
> мешает работать на уровне протокола, самому генерить и получать
> текст запроса и хранить куки.
Уважаемые, в самом начале я написал что впервые работаю с ХТМЛ. Если можно без сленга. Мне не понятно зачем генерить текст запроса, если он уже есть. Но вот когда я отсылаю этот запрос ПОСТом, мне назад возвращают страницу которая содержит только строку "error" Объясните пожалуйста где взять эти куки, которые мне сервер пресылает и как их сохранить?
> Если полностью программно - посложнее, а в полуавтомате
> просто: у формы написать action=http:\\localhost\твоястраница.
> php, в коде самой страницы - <? print_r($_POST); ?>. Открой
> страницу с формой и нажми отправить - тебя перенаправит
> на страницу с перечнем POST-переменных.
Под формой здесь понимается форма на вэб-странице? Здесь тоже немного не понятно что делать. Когда я смотрю на ХТМЛ-код, я все эти параметры вижу. Просто если делать универсальную вещь, можно получив код любой страницы выделить из нее список этих параметров?
SpellCaster (2006-12-19 13:44:00) [12]> А в 6-й нет компонента TIdCookieManager и доступа к сайту
> не происходит. Может подскажите в чем фишка?
Куки - это всего лишь данные, которые клиент передает серверу и получает от него же в заголовке http-запроса. Никто не мешает работать на уровне протокола, самому генерить и получать текст запроса и хранить куки.
> можно программно определить список параметров для ПОСТ
Если полностью программно - посложнее, а в полуавтомате просто: у формы написать action=http:\\localhost\твоястраница.php, в коде самой страницы - <? print_r($_POST); ?>. Открой страницу с формой и нажми отправить - тебя перенаправит на страницу с перечнем POST-переменных.
Также можно это сделать на яваскрипте, чтобы не морочиться с пхп, только я не помню, как там получить список ПОСТ-переменных.
Dmitrij_K (2006-12-19 10:28:00) [13]
> А в 6-й нет компонента TIdCookieManager
поставь новую версию Indy
> можно программно определить список параметров для ПОСТ
Да. Парсить html код.
nikefest (2006-12-18 23:06:00) [14]Спасибо большое. ПОСТ работает великолепно, но только в 7-й версии :( А в 6-й нет компонента TIdCookieManager и доступа к сайту не происходит. Может подскажите в чем фишка?
И еще, можно программно определить список параметров для ПОСТ или только визуально по коду ХТМЛ?
SpellCaster (2006-12-15 17:53:00) [15]> Ну раз пошла такая пьянка - .Head() :)
Гм... вариант извратный, но хороший ))
Dmitrij_K (2006-12-15 14:18:00) [16]
> А как еще можно передать данные, кроме как ПОСТ-ом и ГЕТ-
> ом ?
Ну раз пошла такая пьянка - .Head() :)
SpellCaster (2006-12-15 14:13:00) [17]> [3] Dmitrij_K (13.12.06 15:40)
А как еще можно передать данные, кроме как ПОСТ-ом и ГЕТ-ом ?
untermensch (2006-12-13 18:14:00) [18]...Есть сайт, стартовая страница которого вроде как HTML... - Если человек ничего там хитрого не увидел скорее всего обычный POST, так как GET -ом передавать пароль глупо, а вставка ActiveX, Java или Flash наверяка бы озадачила господина Nikefest. Автору надо было просто выложить адрес странички, чтоб получить более точный ответ.
Dmitrij_K (2006-12-13 15:40:00) [19]
> а передавать в составе HTTP запроса только не как GET а
> как POST
Неправда. Зависит от фантазии web-программиста
untermensch (2006-12-13 15:38:00) [20]cookik нужны для удержания сессии клиента, а передавать в составе HTTP запроса только не как GET а как POST а имена параметров выдернуть из Name параметров тегов, описывающих поля "Имя" и "пароль", заодно глянуть каке ещё невидимые поля есть в этой форме, так как может быть реализована защита от роботов.