PHP.Curl. Сабмитим форму. Автосабмит

0

Пример php кода, который при помощи curl, может заполнять форму на удаленном сайте и отправлять ее. Так же скрипт позволяет получить ответ от сервера для дальнейшей обработки.

Постановка задачи

Есть несколько форм (html form) на разных сайтах в которые необходимо внести одинаковую информацию. Мотив нас не интересует — это может быть как банальный спам в гостевухи, так и выполнение рутинных операций по поддержке и обслуживанию сайтов.

Есть готовые решения для этих целей — самые известные это — AIRoboform, AllSubmitter и Xrumer. Но как универсальное решение они не всегда могут подойти под конкретные потребности вполне конкретного разработчика сайта или веб-студии.

На помощь нам приходит php и curl.

Пример сабмита формы при помощи php & curl

Источник

Это наш сабмитер. Он передает файлу по адресу http://localhost/curl/1.php параметры в переменной $params. Строка $params — состоит из названий имен полей формы и значений, им задаваемых. В переменную $result попадает результат выполнения файла 1.php. Попросту говоря — ответная страница.

Пример 1.php приведен ниже.

<?
  $url = 'http://localhost/curl/1.php';
  $params = "keyword=123&zxczxc=333"; //you must know what you want to post
  $user_agent = "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_POST,1);
  curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
  curl_setopt($ch, CURLOPT_URL,$url);
  curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

  $result=curl_exec ($ch);
  curl_close ($ch);

  echo "Results: <br>".$result;
?>

Пример 1.php для тестирования работы скрипта

<?
print_r($_POST);
?>

Замечание №1. У хостинг провайдера должна быть включена возможность скриптам коннектиться наружу. Как в пхп так и на фаерволе. На платных хостинга — это обычная практика, на бесплатных — обычно отключена. Что бы не спамили.

Замечание №2. Если результат работы скрипта зависит от того, какой value установленно у input type=submit, то мы добавляем в параметры name & value кнопки сабмит.

Замечание №3. Понятно, что пример сырой, но на его основе можно построить годный автоматизатор рутинных задач, которые часто встречаются при обслуживании сайтов, реже — при создании сайтов.

0
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Авторизация
*
*
Регистрация
*
*
*
Пароль не введен
*
Генерация пароля
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x