Очистка экрана в PHP с логином - PullRequest
0 голосов
/ 11 ноября 2009

Оглядываясь на решение этой проблемы, я нашел разные методы. Некоторые используют регулярные выражения, некоторые используют сценарии DOM или что-то в этом роде.

Я хочу зайти на сайт, войти в систему, заполнить форму, а затем проверить, отправлена ​​ли форма. Запись в журнале - это часть, в которой я ничего не могу найти.

Кто-нибудь знает простой способ сделать это?

Ответы [ 5 ]

3 голосов
/ 12 ноября 2009

Я бы согласился с Лесом. Curl + Charles (или Fiddler, расширение Tamper Data в Firefox, wireshark и т. Д.) - это способ, которым я всегда делал это. Единственный трюк, который я обнаружил, заключается в том, что некоторые сайты требуют трехэтапного процесса:

  1. Сначала нажмите на страницу входа с запросом GET, чтобы получить идентификаторы сеанса, файлы cookie и / или обязательные поля (например, сайты .net имеют __VIEWSTATE и __EVENTVALIDATION).
  2. Если у вас есть эти значения, вы публикуете их на странице входа в систему
  3. Наконец, запросите любой ресурс, который вы ищете.

Не надейтесь, что баночка cookie для curl и файл cookie окажут большую помощь. Вероятно, вам лучше всего будет проанализировать идентификатор сессии и файлы cookie из заголовков, используя простое регулярное выражение.

Надеюсь, это поможет!

1 голос
/ 11 ноября 2009

Обычно я запускаю Чарльз . Прохожу через браузер и регистрирую необработанные запросы. Скопируйте + вставьте запросы и выбросьте их через fopen или curl (с небольшими изменениями в соответствии с ответами).

1 голос
/ 11 ноября 2009

Возможно, вам лучше использовать какой-нибудь браузер с возможностью написания сценариев, если вам нужно много работать с графическим интерфейсом. Если вам нужно использовать PHP, проверьте curl: http://us2.php.net/curl

0 голосов
/ 06 декабря 2011

У меня достаточно опыта в этом. Раньше я использовал Curl, но это не интересно. В частности, много раз сайты обмениваются токенами XSRF, передают скрытые переменные или устанавливают все виды файлов cookie. Отслеживать все это с помощью Curl становится сложно. По крайней мере для меня.

Затем я исследовал Selenium, и мне это нравится. Есть 2 вещи - 1) установить Selenium IDE (работает только в Firefox). 2) Установите Selenium RC Server

После запуска Selenium IDE перейдите на сайт, который вы пытаетесь автоматизировать, и начните записывать события, которые вы делаете на сайте. Думайте об этом как о записи макроса в браузере. После этого вы получите код для вывода на нужный язык.

Точно так же вы знаете, что Browsermob использует Selenium для нагрузочного тестирования и для автоматизации задач в браузере.

Я загрузил ppt, который сделал некоторое время назад. Это должно сэкономить вам много времени- http://www.4shared.com/get/tlwT3qb_/SeleniumInstructions.html

В приведенной выше ссылке выберите вариант обычной загрузки.

0 голосов
/ 12 ноября 2009

Возможно, вы захотите взглянуть на библиотеку Perl LWP (я знаю, что это не PHP, но она очень полезна для очистки экрана, тестирования веб-модулей и т. Д.):

...