Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.52 MB
Время: 0.03 c
1-1181129428
oleg_teacher
2007-06-06 15:30
2007.08.12
Как узнать для какого обекта было вызвано


2-1184581112
mmms
2007-07-16 14:18
2007.08.12
Подскажите, как связать свой тип файлов к своей программе?


9-1157371461
Provodnick
2006-09-04 16:04
2007.08.12
Проблема с дисплейным списком.


2-1184408740
Knob
2007-07-14 14:25
2007.08.12
Помогите! Как написать простой AI


15-1184592922
Sdubaruhnul
2007-07-16 17:35
2007.08.12
Война браузеров доходит до идиотизма