Используем CURL (php) часть 2 (отправка GET и POST запросов)

В первой части был расмотрен простой пример запроса страницы.
В этой будет рассмотрено использование библиотеки CURL для отправки GET и POST запросов.
Изучаем curl

Пример использования GET запроса

< ?php
  $ch = curl_init();
   //GET запрос указывается в строке URL
  curl_setopt($ch, CURLOPT_URL, 'http://www.yousoft.ru/?s=CURL');
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
  curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Bot (http://www.yousoft.ru)');
  $data = curl_exec($ch);
  curl_close($ch);
?>

Посылка GET запроса ничем не отличается от получения страницы. Важно заметить, что строка запроса формируется следующим образом: https://www.yousoft.ru/index.php?name1=value1&name2=value2&name3=value3. Где https://www.yousoft.ru/index.php — адрес страницы, nameX — название переменной, valueX — значение переменной.

Пример использования POST запроса

< ?php
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, 'http://www.yousoft.ru/index.php');
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  //Нужно явно указать, что будет POST запрос
  curl_setopt($ch, CURLOPT_POST, true);
  //Здесь передаются значения переменных
  curl_setopt($ch, CURLOPT_POSTFIELDS, 's=CURL');
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
  curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Bot (http://www.yousoft.ru)');
  $data = curl_exec($ch);
  curl_close($ch);
?>

Отправка POST запроса не многим отличается от отправки GET запроса. Все основные шаги остаются такие же. Переменные также задаются парами: name1=value1&name2=value2.

Используем CURL (php) часть 2 (отправка GET и POST запросов): 9 комментариев

  1. Добрый день,
    видел пост
    http://forum.sape.ru/showthread.php?t=1521
    вы только Joomla поддерживаете? А друпал?

    Можете на почту выслать расценки на услуги по разворачиванию сайта (поддержке и развитию) на джумле или друпале — сколько стоит развернуть проект (тз контент и пр. будет)? сколько стоит час работы по программированию?

  2. Спасибо за интересную статью. А можно ли поподробнее про передачу переменных? А то я что то не понял —
    curl_setopt($ch, CURLOPT_POSTFIELDS, 's=CURL');
    Как я понял это и есть передача данных, и именно в ней прописывать все переменные как «name1=value1&name2=value2.» или для каждой переменной писать отдельную строку?

  3. Как раз надо писал подобный скрипт, но никак не мог залогиниться, взял ваш скрипт — та самая ситуация — не происходит залогинивание. 🙁

  4. Сорри, уже все вышло — я протупил и путь к куках поменял только в одном месте. Все аллес гут.

  5. curl_setopt($ch, CURLOPT_POSTFIELDS, ‘s=CURL’);
    Так работает

    curl_setopt($ch, CURLOPT_POSTFIELDS, ‘t=TTT’);
    так не работает

    curl_setopt($ch, CURLOPT_POSTFIELDS, ‘s=TTT’);
    присылает $_POST[s] // CURL

    curl_setopt($ch, CURLOPT_POSTFIELDS, ‘s=CURL&t=TTT’);
    $_POST[t] вообще не присылает!

    Что делать?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *