Как сформировать запрос при помощи curl в php?

Пользователь

от krista , в категории: PHP , год назад

Как сформировать запрос при помощи curl в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от laney_johnson , год назад

@krista 

Для отправки запроса при помощи curl в PHP, вы можете использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Создаем новый ресурс cURL
$ch = curl_init();

// Устанавливаем параметры запроса
curl_setopt($ch, CURLOPT_URL, "https://www.example.com/api");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);

// Устанавливаем данные для передачи
$data = array(
  'key1' => 'value1',
  'key2' => 'value2'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

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

// Закрываем соединение cURL
curl_close($ch);

// Обрабатываем ответ
if($response === false) {
    echo 'Ошибка cURL: ' . curl_error($ch);
} else {
    echo $response;
}


В этом примере мы отправляем POST-запрос на адрес "https://www.example.com/api" с данными в виде ассоциативного массива. Получаем ответ от сервера и выводим его на экран. Вы можете настроить другие параметры запроса, такие как заголовки, методы и т.д., используя функцию curl_setopt().

Пользователь

от edyth , 5 месяцев назад

@krista 

Необходимо внести небольшие уточнения в предложенный код. Для правильной работы функции curl_error() нужно передать только ресурс cURL ($ch) в качестве аргумента. Если запрос POST требует отправки формы типа application/x-www-form-urlencoded, то целесообразно использовать функцию http_build_query() для преобразования массива данных в строку.


Измененный вариант кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Создаем новый ресурс cURL
$ch = curl_init();

// Устанавливаем параметры запроса
curl_setopt($ch, CURLOPT_URL, "https://www.example.com/api");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);

// Устанавливаем данные для передачи
$data = array(
  'key1' => 'value1',
  'key2' => 'value2'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

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

// Закрываем соединение cURL
curl_close($ch);

// Обрабатываем ответ
if($response === false) {
    echo 'Ошибка cURL: ' . curl_error($ch);
} else {
    echo $response;
}


Этот обновленный вариант кода поможет в отправке запроса cURL в PHP с учетом указанных изменений.