Skip to content

Commit 97d4917

Browse files
lacatoiremmalferov
andauthored
[Sync-EN] Add POST examples to the cURL examples chapter (#1778)
* curl/examples.xml: add the POST and JSON POST examples * Update examples.xml --------- Co-authored-by: Mikhail Alferov <malferov@gmail.com>
1 parent 5c4f192 commit 97d4917

1 file changed

Lines changed: 70 additions & 6 deletions

File tree

‎reference/curl/examples.xml‎

Lines changed: 70 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,87 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<!-- EN-Revision: fc9a0a8b29a7a099998bdd71fe5350a10b18fe62 Maintainer: shein Status: ready -->
2+
<!-- EN-Revision: e7c6a2f6847c3a8c9fec6ba588f235ccdcf6f3a5 Maintainer: shein Status: ready -->
33
<!-- Reviewed: no -->
44

55
<chapter xml:id="curl.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
66
&reftitle.examples;
77
<section xml:id="curl.examples-basic">
8-
<title>Пример работы с модулем curl</title>
9-
<para>
8+
<title>Примеры работы с модулем curl</title>
9+
<simpara>
1010
Функции модуля cURL становятся доступны для вызова сразу после сборки PHP
1111
с поддержкой cURL. Работа с модулем cURL начинается
1212
с инициализации сеанса сетевого обмена данными вызовом функции <function>curl_init</function>.
1313
Затем функцией <function>curl_setopt</function> устанавливают параметры сетевой передачи
1414
и выполняют сеанс обмена данными путём вызова функции <function>curl_exec</function>.
15+
</simpara>
16+
<para>
17+
Простой пример, который отправляет POST-запрос функциями модуля cURL:
18+
<example>
19+
<title>Пример отправки POST-запроса функциями PHP-модуля cURL</title>
20+
<programlisting role="php">
21+
<![CDATA[
22+
<?php
23+
24+
$data = ['foo' => 'bar', 'baz' => 48];
25+
$url = "http://www.example.com/handler.php";
26+
27+
$ch = curl_init($url);
28+
29+
// Указываем cURL вернуть ответ, а не отправлять в стандартный вывод
30+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
31+
32+
// Устанавливаем данные и заголовок для отправки запроса HTTP-методом POST
33+
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
34+
35+
// Отправляем запрос и получаем ответ
36+
$response = curl_exec($ch);
37+
38+
if (curl_error($ch)) {
39+
// Обрабатываем ошибку или бросаем исключение
40+
throw new RuntimeException(curl_error($ch));
41+
}
42+
]]>
43+
</programlisting>
44+
</example>
45+
</para>
46+
<para>
47+
Ещё один пример отправки функциями модуля cURL
48+
POST-запроса с телом в формате JSON:
49+
<example>
50+
<title>Пример отправки функциями PHP-модуля cURL JSON-строки в теле POST-запроса</title>
51+
<programlisting role="php">
52+
<![CDATA[
53+
<?php
54+
55+
$post_data = ['foo' => 'bar', 'baz' => 48];
56+
$url = "http://www.example.com/api/endpoint";
57+
58+
$ch = curl_init($url);
59+
60+
// Указываем cURL вернуть ответ, а не отправлять в стандартный вывод
61+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
62+
63+
// Устанавливаем данные для отправки запроса HTTP-методом POST
64+
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));
65+
66+
// Устанавливаем заголовок
67+
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
68+
69+
// Отправляем запрос и получаем ответ
70+
$response = curl_exec($ch);
71+
72+
if (curl_error($ch)) {
73+
// Обрабатываем ошибку или бросаем исключение
74+
throw new RuntimeException(curl_error($ch));
75+
}
76+
]]>
77+
</programlisting>
78+
</example>
79+
</para>
80+
<para>
1581
Следующий пример получает начальную страницу сайта example.com
1682
функциями модуля cURL и сохраняет результат в файл:
1783
<example>
18-
<title>Загрузка стартовой страницы сайта example.com функциями PHP-модуля cURL</title>
84+
<title>Пример загрузки стартовой страницы сайта example.com функциями PHP-модуля cURL</title>
1985
<programlisting role="php">
2086
<![CDATA[
2187
<?php
@@ -32,8 +98,6 @@ if (curl_error($ch)) {
3298
}
3399
34100
fclose($fp);
35-
36-
?>
37101
]]>
38102
</programlisting>
39103
</example>

0 commit comments

Comments
 (0)