![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 273
|
![]()
Есть определенная форма на определенном сайте(к примеру добавление комментария), есть программа, человек вводит нужное ему значение формы в соответствующее окошко программы, кликает по соответствующей кнопке программы и происходит тоже что если бы он написал этот комментарий через сайт - он добавляется, а человеку разумеется вместо открытия страницы программа просто сообщает о положительном результате.
Не пойму как такое реализовать, в моем случае у этой формы присутствует капча, парсинг капчи я реализовал и он корректно работает, но вот как теперь передать на сайт введенную капчу и значение для основной формы ума не приложу(единственная мысль - тоже как-то через парсинг, но этим данная мысль и ограничивается ![]() Заранее спасибо за помощь в решении этой проблемы! |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]()
Значит плохо вы занимались парсингом. Скорее всего дам какой-то скрипт или форма, которая отсылает на сервер пост-запрос. Внимательно изучите, что за данные отсылает броузер на сервер.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 273
|
![]()
Не понял к чему вы это, я тут не пытаюсь выяснить что где кто как отсылает, я говорю о конкретной задаче, я пишу программу для заполнения определенной формы на определенном сайте без захода на сам сайт, разумеется там post запрос...
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
![]()
В post запросе и добавляете текст "комментария" наряду с "словом" введенным с картинки , и вуаля
![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 273
|
![]()
Помогите разобраться как этот post запрос правильно сделать =)
Вот код формы на том сайте: Код HTML:
<form action='/vote/8636/' id='voteFrom' method='post'> <input type='hidden' name='referer' value='?'> <input type='hidden' name='sec_referer' value='4b30c013d9042c579ca3f67b0980132c0568ae8b'> <table border=0> <tr> <td colspan=2 align='left' style='padding-left: 40px;'> <script type='text/javaScript'> function voteButtnRef(scr, n) { document.getElementById(scr).innerHTML = ''; document.getElementById(scr).innerHTML += "<img src='/getimg.php?"+Math.random()+"' alt='Для просмотра включите отображение картинок' border=0>" document.getElementById(scr).innerHTML += "<img src='/4na.php?"+Math.random()+"' alt='Для просмотра включите отображение картинок' border=0>"; } </script> <span id='kapchaImg'> <img src='/getimg.php?541' alt='Для просмотра включите отображение картинок' border=0> <img src='/vdcp.php?541' alt='Для просмотра включите отображение картинок' border=0> <script type='text/javaScript'> document.write("<img style='position: relative; left: -105px' src='/4na.php?"+Math.random()+"' alt='Для просмотра включите отображение картинок' border=0>"); </script> </span><br> <a href='javascript:voteButtnRef("kapchaImg","");'>не видна картинка?</a> </td> </tr> <tr> <td> введите значение с картинок через пробел:<br> <input name='voteOk' type='hidden' value='ok'> <!--// <input name='b09f39ea' type='text' value='' class='num2' maxlength='14'> //--><!--// <input name='2d60b6d0' type='text' value='' class='num2' maxlength='14'> //--><!--// <input name='b3c03146' type='text' value='' class='num2' maxlength='14'> //--><!--// <input name='853d02c9' type='text' value='' class='num2' maxlength='14'> //--><!--// <input name='757cd3ff' type='text' value='' class='num2' maxlength='14'> //--><!--// <input name='43edf201' type='text' value='' class='num2' maxlength='14'> //--><!--// <input name='e3892e50' type='text' value='' class='num2' maxlength='14'> //--><!--// <input name='f88a69f4' type='text' value='' class='num2' maxlength='14'> //--><input name='b29c14d9' type='text' value='' class='num2' maxlength='14'><!--// <input name='3472a53b' type='text' value='' class='num2' maxlength='14'> //--> </td> <td width=90px> <a href='#' onClick='document.getElementById("voteFrom").submit(); return false;'><img src='/images/vote2.gif' alt='Проголосовать'></a> </td> </tr> <tr> <td>имя Вашего персонажа в игре*:<br><input name='name' type='text' value='' class='num2' maxlength=20></td> <td></td> </tr> </table> <p> *Вы можете оставить это поле пустым если не хотите, чтобы данная информация была опубликована в статистике голосования за сервер. ВНИМАНИЕ: не вводите, пожалуйста, вместо имени чара бессмысленный набор символов, в противном случае наш рейтинг оставляет за собой право не учитывать подобные голоса и не показывать их в статистике голосования за сервер. </p> </form> Код:
Заранее спасибо! |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]()
Здесь три варианта. Далее по порядку вероятности:
- Вы отсылаете не все данные. У вас на форме еще есть поля - referer и sec_referer. Попробуйте заполнить их. - На сервере идет проверка referer-а, т.е. откуда пришел запрос. Необходимо изменить соответствующие настройки IdHTTP на приближенные к реальным. - Нет куков. Тоже вполне возможно и надо разбираться конгретно по ситуации. И ещё совет - установите нормальный парсер и проанализируйте пакеты, которые пересылаются между броузером и сервером. |
![]() |
![]() |
![]() |
#7 | ||||
Форумчанин
Регистрация: 05.04.2010
Сообщений: 273
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
P.S. Там еще хитрость в том что имя формы "капча" динамическое и изменяется при каждом обновлении страницы браузера, с этим я разобрался без особых проблем. Еще просьба подсказать что я делаю не так с этим кодом: Код:
Код:
Заранее огромное спасибо! ![]() |
||||
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]()
У Вас нет полной картины того, что Вы делаете, поэтому у Вас столько ошибок. Сначала найдите парсер HTTP-Analyzer или что-то в этом роде. Посмотрите конкретно на содержание пакетов.
По поводу проверки referer-а: - Это как бы одно из свойств пересылаемого пакета, в котором записано откуда пакет. На многих сайтах его проверяют, мол, чтобы запрос пришел с конкретной страницы. В компонентах Delphi можно задать его программно. По поводу кукисов: - Всё же проверьте. Их часто используют при авторизации. По поводу капчи: - Весьма вероятно, что фаил капчи имеет рашрение png и просто так его в Delphi нельзя вывести в image - необходимы специальные модули. Но это не точно. Установите парсер он прояснит ситуацию. |
![]() |
![]() |
![]() |
#9 | |
Новичок
Джуниор
Регистрация: 26.04.2010
Сообщений: 1
|
![]() Цитата:
И по поводу куки, как получить их в Memo? Последний раз редактировалось cavern; 06.05.2010 в 21:06. |
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 30.03.2010
Сообщений: 17
|
![]()
подскажи как ты капчу спарсил а то я с таким рандомом дело не имел =(
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заполнение веб формы | RIO | Работа с сетью в Delphi | 5 | 05.08.2009 02:03 |
Заполнение поле формы автоматически из другой формы!! | Магомед | Microsoft Office Access | 8 | 28.07.2009 13:49 |
программа, которая сохраняет веб страницы раз в час на сайте в определённой папке | SeregaKo | Общие вопросы Delphi | 7 | 24.07.2008 16:10 |
заполнение формы | zetrix | Безопасность, Шифрование | 1 | 29.10.2006 11:07 |