Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 70 additions & 6 deletions reference/curl/examples.xml
Original file line number Diff line number Diff line change
@@ -1,21 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: fc9a0a8b29a7a099998bdd71fe5350a10b18fe62 Maintainer: shein Status: ready -->
<!-- EN-Revision: e7c6a2f6847c3a8c9fec6ba588f235ccdcf6f3a5 Maintainer: shein Status: ready -->
<!-- Reviewed: no -->

<chapter xml:id="curl.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.examples;
<section xml:id="curl.examples-basic">
<title>Пример работы с модулем curl</title>
<para>
<title>Примеры работы с модулем curl</title>
<simpara>
Функции модуля cURL становятся доступны для вызова сразу после сборки PHP
с поддержкой cURL. Работа с модулем cURL начинается
с инициализации сеанса сетевого обмена данными вызовом функции <function>curl_init</function>.
Затем функцией <function>curl_setopt</function> устанавливают параметры сетевой передачи
и выполняют сеанс обмена данными путём вызова функции <function>curl_exec</function>.
</simpara>
<para>
Простой пример, который отправляет POST-запрос функциями модуля cURL:
<example>
<title>Пример отправки POST-запроса функциями PHP-модуля cURL</title>
<programlisting role="php">
<![CDATA[
<?php

$data = ['foo' => 'bar', 'baz' => 48];
$url = "http://www.example.com/handler.php";

$ch = curl_init($url);

// Указываем cURL вернуть ответ, а не отправлять в стандартный вывод
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Устанавливаем данные и заголовок для отправки запроса HTTP-методом POST
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

// Отправляем запрос и получаем ответ
$response = curl_exec($ch);

if (curl_error($ch)) {
// Обрабатываем ошибку или бросаем исключение
throw new RuntimeException(curl_error($ch));
}
]]>
</programlisting>
</example>
</para>
<para>
Ещё один пример отправки функциями модуля cURL
POST-запроса с телом в формате JSON:
<example>
<title>Пример отправки функциями PHP-модуля cURL JSON-строки в теле POST-запроса</title>
<programlisting role="php">
<![CDATA[
<?php

$post_data = ['foo' => 'bar', 'baz' => 48];
$url = "http://www.example.com/api/endpoint";

$ch = curl_init($url);

// Указываем cURL вернуть ответ, а не отправлять в стандартный вывод
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Устанавливаем данные для отправки запроса 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)) {
// Обрабатываем ошибку или бросаем исключение
throw new RuntimeException(curl_error($ch));
}
]]>
</programlisting>
</example>
</para>
<para>
Следующий пример получает начальную страницу сайта example.com
функциями модуля cURL и сохраняет результат в файл:
<example>
<title>Загрузка стартовой страницы сайта example.com функциями PHP-модуля cURL</title>
<title>Пример загрузки стартовой страницы сайта example.com функциями PHP-модуля cURL</title>
<programlisting role="php">
<![CDATA[
<?php
Expand All @@ -32,8 +98,6 @@ if (curl_error($ch)) {
}

fclose($fp);

?>
]]>
</programlisting>
</example>
Expand Down
Loading