Отправка GET-запросов в cURL
В прошлой статье мы с Вами рассмотрели отправку POST-запросов в cURL. Однако, иногда скрипт принимает только GET-запросы (как правило, это скрипты поиска). И вот чтобы обрабатывать и принимать данные и от таких скриптов, надо уметь отправлять GET-запросы в cURL тоже, чему Вы и научитесь, прочитав эту статью.
Принцип отправки GET-запросов в cURL абсолютно тот же, что и при отправке методом POST: есть файл-источник и есть файл-приёмник. Файл-источник, используя модуль cURL, отправляет GET-запрос на файл-приёмник. Файл-приёмник этот запрос обрабатывает и возвращает результат, который принимается файлом-источником, опять же, используя возможности cURL.
Чтобы стало всё абсолютно понятно, давайте рассмотрим простой пример, который мы с вами рассматривали при отправке POST-запросов. То есть файл-источник отправляет два числа, файл-приёмник возвращает сумму этих чисел, которую файл-источник принимает и записывает в переменную, которая затем выводится в браузер.
Для начала файл-приёмник ("receiver.php"):
<?php
$a = $_GET['a'];
$b = $_GET['b'];
echo $a + $b;
?>
Здесь всё очень просто: записываем в переменные $a и $b данные из GET-запроса, а дальше выводим их сумму, которая и будет принята файлом-источником.
Теперь создадим сам файл-источник:
<?php
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://mysite.ru/receiver.php?a=5&b=10');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}
?>
Обратите внимание, что для отправки GET-запросов Вам не надо ничего настраивать (как это было при оптравке методом POST). Вам надо только в URL указать сам GET-запрос, который необходимо отправить. Всё! Разумеется, результат выполнения данного скрипта будет вывод числа 15 (5 + 10).
Теперь Вы уже подкованы окончательно и можете отправлять абсолютно любые запросы на любые скрипты, так что практикуйтесь!
-
- Михаил Русаков
Комментарии (5):
В файле-приемнике receiver.php выводится 0, так и должно быть?
Ответить
отправляю параметр методом get на страницу с формой.при обработке этой формы этот get параметр пропадает.пытался записать его в сессию , но при обновлении она и в сессии видимо принимает "пустоту".как сохранить переданный get параметр для его дальнейшего использования???
Ответить
Если Вы верно передаете $_GET он априори, пропасть не может. Читайте мат. часть.
Ответить
GET параметр передается нормально на страницу с формой , далее эта форма обрабатывается и соответственно страница обновляется .и во время обновления этот параметр пропадает , потому что он не отправляется на этой же странице.
Ответить
Потому и читайте мат.часть. Возвращать надо через header или подобным образом,либо заносить куда-либо. Прямо в обработчике
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.