| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Заполнение форм |
| Автор: programming 13.8.2009, 12:27 |
| Автозаполнение форм. Нигде на форуме не нашёл подобной темы.. Нужно заполнить форму и нажать на кнопку в автоматическом режиме. Я вообще не представляю как возможно нажать на кнопку автоматически..(у неё же нет url'а) Спасибо. |
| Автор: icewind 13.8.2009, 12:30 |
| Не нужно ничего заполнять. Нужно сформировать поля POST запроса и отправить на адрес, который ждет ответа с формы |
| Автор: programming 13.8.2009, 12:38 |
| А можно поподробнее про сформирование пост запроса.. Как именно он формируется? Вот в get всё понятно - просто url - ex.com?per=000&lop=567, а в post даже не знаю как.. |
| Автор: Ипатьев 13.8.2009, 12:39 |
| Странно. Так много на форуме вопросов про автозаполнение форм. При том, что в реальной жизни такие задачи встречаются очень редко. |
| Автор: bars80080 13.8.2009, 12:46 |
| традиционно все отправляют читать темы по использованию библиотеки cURL Добавлено через 1 минуту и 24 секунды собсна, ссылка из соседней темы http://ua2.php.net/curl |
| Автор: programming 13.8.2009, 13:16 |
| А можно где-нибудь увидеть пример применения сurl в моём случае? |
| Автор: NewDima 13.8.2009, 14:31 |
| http://www.google.ru/search?hl=ru&newwindow=1&q=%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+curl+%D0%B2+php&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=0&oq=%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+curl |
| Автор: programming 15.8.2009, 12:29 | ||
Нашёл материал по теме как авторизоваться на сайте - проверил, действительно работает.
Но теперь появилась ещё проблема. Мне нужно после авторизации перейти на следующую страницу и там ввести данные в ещё одну форму.. Можно увидеть примерный код этого? |
| Автор: nerezus 15.8.2009, 15:26 | ||||
|
| Автор: programming 15.8.2009, 15:54 |
| nerezus, так пробовал, но почему-то не получается.. Ладно сейчас ещё что-нибудь попробую. |
| Автор: nerezus 15.8.2009, 16:02 |
| programming, сказать, почему? Потому что пробовал мало. |
| Автор: programming 15.8.2009, 20:53 |
| Пробовал очень не мало.. Не понимаю в чём проблема.. Авторизация проходит успешно. Ещё момент - в форме, в которой у меня не получается автоматизировать ввод - используется ajax. Это никак не может препятствовать? |
| Автор: nerezus 15.8.2009, 21:36 |
| познаешь ты в отладке дзен |
| Автор: fesor 15.8.2009, 23:54 |
| AJAX не задействуется таким способом. А вообще подозрительно зачем тебе сценарий дейтсвий для типичного спамбота?) Темболее на PHP) Может ты еще статьи с хабра про распознания капчи средствами PHP прочел?) |
| Автор: programming 16.8.2009, 14:08 |
| fesor, нет. Просто изучаю. В общем кажется понял в чём проблема.. Странице, на которой находится форма, передаётся ещё значение с помощью метода GET. То есть так - example.com/trt.php/ppp?ttt=000 Хотя быть может это вообще и не get.. В общем я окончательно запутался.. Возможно ли с помощью curl хотя бы просто открыть эту страницу? |
| Автор: programming 16.8.2009, 16:55 | ||
| Нашёл способ как открыть такую страницу.. Вот:
Но не могу понять теперь как передать ещё ей куки.. Можно увидеть какой-нибудь пример? |
| Автор: programming 17.8.2009, 12:05 |
| Ну неужели действительно этого никто не знает??? |
| Автор: nerezus 17.8.2009, 13:44 |
| Все знают, но им влом отлаживать за тебя. Тебе дали все знания для выполенения задачи. А куки - обычный http-заголовок. Думай. |
| Автор: Ипатьев 17.8.2009, 14:04 |
| Странно. Почему такая игра в одни ворота. Почему тот, кто отвечает, должен рассказать все, а тот, кто спрашивает - ничего? Что за сайт, что за информация, что за форма? Если сам скрываешь информацию - будь добр не тянуть ее из других. |
| Автор: icewind 17.8.2009, 15:12 | ||
Плохой способ. Нужно делать через курл или сокеты и отправлять куки |
| Автор: programming 17.8.2009, 16:13 |
| Оказывается даже авторизация проходит не успешно.. Уже не знаю что делать, поэтому опишу подробно.. Итак, есть страница http://example.com/login.php На ней единственная форма, с помощью которой происходит авторизация. Теперь по поводу формы - первое поле типа hidden с именем query. Второе типа text с названием username. Третье типа password с названием password. Четвёртое типа checkbox с названием keeppass. Пятое типа submit с названием submitted. Метод - POST. Не могу понять как произвести авторизацию с помощью curl.. И ещё вопрос - нужно в curl прописывать все поля формы или можно выборочно?(для POST запроса) |
| Автор: nerezus 17.8.2009, 18:21 | ||
Просто не надо искать универсальных способов, это прерогатива новичков. programming, сделай усилие. Заставь себя это сделать это. Хинт: HttpFox плагин для firefox тебе поможет. |
| Автор: programming 17.8.2009, 19:17 | ||
Написать то я написал:
При выполнении выползает белый экран. Ещё момент - со страницы http://example.com/login.php выполняется редирект. Добавлено через 9 минут и 3 секунды Опа! Получилось!!! Не понимаю вообще теперь ничего.. Ничего не трогал и получилось! Скорее всего в браузере сохранилась стр. с не успешной авторизацией.. Огромное спасибо всем кто мне помогал! Особое спасибо хочу сказать nerezus, который заставил меня помучиться и добиться цели. Спасибо. |