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