From 2d3ba12134638e86229299e3e82b5ece06011728 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Mon, 31 Aug 2026 12:58:14 +0200 Subject: [PATCH 1/2] curl/examples.xml: add the POST and JSON POST examples --- reference/curl/examples.xml | 72 ++++++++++++++++++++++++++++++++++--- 1 file changed, 67 insertions(+), 5 deletions(-) diff --git a/reference/curl/examples.xml b/reference/curl/examples.xml index 0bea0a3814..79d496122f 100644 --- a/reference/curl/examples.xml +++ b/reference/curl/examples.xml @@ -1,17 +1,81 @@ - + &reftitle.examples;
- Пример работы с модулем curl - + Примеры работы с модулем curl + Функции модуля cURL становятся доступны для вызова сразу после сборки PHP с поддержкой cURL. Работа с модулем cURL начинается с инициализации сеанса сетевого обмена данными вызовом функции curl_init. Затем функцией curl_setopt устанавливают параметры сетевой передачи и выполняют сеанс обмена данными путём вызова функции curl_exec. + + + Простой пример, который отправляет POST-запрос функциями модуля cURL: + + Отправка POST-запроса функциями PHP-модуля cURL + + 'bar', 'baz' => 48]; +$url = "http://www.example.com/handler.php"; + +$ch = curl_init($url); + +// указываем cURL вернуть ответ, а не отправлять его в стандартный вывод +curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + +// задаём данные POST-запроса, соответствующий метод и заголовки +curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); + +// отправляем запрос и получаем ответ +$response = curl_exec($ch); + +if(curl_error($ch)) { + // обрабатываем ошибку или просто + throw new RuntimeException(curl_error($ch)); +} +]]> + + + + + Ещё один пример, который отправляет POST-запрос с телом в формате JSON + функциями модуля cURL: + + Отправка POST-запроса с JSON функциями PHP-модуля cURL + + 'bar', 'baz' => 48]; +$url = "http://www.example.com/api/endpoint"; + +$ch = curl_init($url); + +// указываем cURL вернуть ответ, а не отправлять его в стандартный вывод +curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + +// задаём данные POST-запроса и соответствующий метод +curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); + +// задаём требуемый заголовок +curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); + +// отправляем запрос и получаем ответ +$response = curl_exec($ch); + +if(curl_error($ch)) { + // обрабатываем ошибку или просто + throw new RuntimeException(curl_error($ch)); +} +]]> + + + + Следующий пример получает начальную страницу сайта example.com функциями модуля cURL и сохраняет результат в файл: @@ -32,8 +96,6 @@ if (curl_error($ch)) { } fclose($fp); - -?> ]]> From cdf4bf82cc49894c0528ab2e59a0a60b1b47ecbe Mon Sep 17 00:00:00 2001 From: Mikhail Alferov Date: Fri, 18 Sep 2026 00:08:25 +0300 Subject: [PATCH 2/2] Update examples.xml --- reference/curl/examples.xml | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/reference/curl/examples.xml b/reference/curl/examples.xml index 79d496122f..ca3cf8e92a 100644 --- a/reference/curl/examples.xml +++ b/reference/curl/examples.xml @@ -16,26 +16,27 @@ Простой пример, который отправляет POST-запрос функциями модуля cURL: - Отправка POST-запроса функциями PHP-модуля cURL + Пример отправки POST-запроса функциями PHP-модуля cURL 'bar', 'baz' => 48]; $url = "http://www.example.com/handler.php"; $ch = curl_init($url); -// указываем cURL вернуть ответ, а не отправлять его в стандартный вывод +// Указываем cURL вернуть ответ, а не отправлять в стандартный вывод curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); -// задаём данные POST-запроса, соответствующий метод и заголовки +// Устанавливаем данные и заголовок для отправки запроса HTTP-методом POST curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); -// отправляем запрос и получаем ответ +// Отправляем запрос и получаем ответ $response = curl_exec($ch); -if(curl_error($ch)) { - // обрабатываем ошибку или просто +if (curl_error($ch)) { + // Обрабатываем ошибку или бросаем исключение throw new RuntimeException(curl_error($ch)); } ]]> @@ -43,32 +44,33 @@ if(curl_error($ch)) { - Ещё один пример, который отправляет POST-запрос с телом в формате JSON - функциями модуля cURL: + Ещё один пример отправки функциями модуля cURL + POST-запроса с телом в формате JSON: - Отправка POST-запроса с JSON функциями PHP-модуля cURL + Пример отправки функциями PHP-модуля cURL JSON-строки в теле POST-запроса 'bar', 'baz' => 48]; $url = "http://www.example.com/api/endpoint"; $ch = curl_init($url); -// указываем cURL вернуть ответ, а не отправлять его в стандартный вывод +// Указываем cURL вернуть ответ, а не отправлять в стандартный вывод curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); -// задаём данные POST-запроса и соответствующий метод +// Устанавливаем данные для отправки запроса HTTP-методом POST curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); -// задаём требуемый заголовок +// Устанавливаем заголовок curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); -// отправляем запрос и получаем ответ +// Отправляем запрос и получаем ответ $response = curl_exec($ch); -if(curl_error($ch)) { - // обрабатываем ошибку или просто +if (curl_error($ch)) { + // Обрабатываем ошибку или бросаем исключение throw new RuntimeException(curl_error($ch)); } ]]> @@ -79,7 +81,7 @@ if(curl_error($ch)) { Следующий пример получает начальную страницу сайта example.com функциями модуля cURL и сохраняет результат в файл: - Загрузка стартовой страницы сайта example.com функциями PHP-модуля cURL + Пример загрузки стартовой страницы сайта example.com функциями PHP-модуля cURL