Скрипт для автоматизации действий на веб-сайте с поддержкой ajax - PullRequest
3 голосов
/ 02 марта 2010

Здесь, в Швейцарии, люди моложе 26 лет, у которых есть контракт с Swisscom по сотовому телефону, могут бесплатно отправлять 500 смс в месяц, используя веб-сайт https://xtrazone.sso.bluewin.ch/.

Еще несколько дней назад этот сайт был структурирован довольно просто, у него был логин и поле ввода для ввода смс. Вот почему я написал Perl-скрипт (http://github.com/gwrtheyrn/Xtrazone-SMS-Tool) для отправки смс через этот сервис с помощью curl. Это отлично работает.

Теперь они переписали весь сайт, и я столкнулся со следующими проблемами, чтобы переписать скрипт:

  1. После ввода логина появляется капча
  2. Логин загружается с использованием javascript и обрабатывает ввод с помощью ajax
  3. Поле для ввода в приемник не является стандартным полем ввода, это специальное поле ввода JavaScript

Мои оставшиеся вопросы:

  • Как я могу обойти капчу? Я подумал о Tesseract (http://code.google.com/p/tesseract-ocr/). Это, вероятно, будет работать с Perl (для этого есть оболочка).
  • Есть ли способ выполнить действия JavaScript без необходимости запуска браузера? Я хочу оставить инструмент только для командной строки.

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 02 марта 2010

Если вы выполняете процесс с какой-либо сетевой трассировкой (есть такая, которая поставляется в качестве дополнения для Firefox, fiddler - это проходимая автономная альтернатива), вы сможете увидеть, какие запросы фактически выполняются JavaScript для сервера. Это то, что вам нужно, чтобы ваш сценарий мог эмулировать.

0 голосов
/ 02 марта 2010

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

Захватить Данные тампера для firefox. запустите его после того, как вы введете капчу и проверите запрос POST, который они делают. Существует вероятность, что вы можете напрямую отправлять команды POST через CURL и не беспокоиться о javascript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...