Как отправить post запрос из php?

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

от cierra , в категории: PHP , 5 месяцев назад

Как отправить post запрос из php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

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

@cierra 

Для отправки POST-запроса из PHP можно использовать функцию curl или функции file_get_contents и stream_context_create.

  1. Используя функцию curl:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
$url = 'http://example.com/post_endpoint';
$data = array('foo' => 'bar');

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

// Обрабатываем ответ
if ($response === false) {
    // Обработка ошибки при выполнении запроса
} else {
    // Обработка успешного ответа
}


  1. Используя функции file_get_contents и stream_context_create:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
$url = 'http://example.com/post_endpoint';
$data = array('foo' => 'bar');

$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded
",
        'method'  => 'POST',
        'content' => http_build_query($data),
    ),
);

$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);

// Обрабатываем ответ
if ($response === false) {
    // Обработка ошибки при выполнении запроса
} else {
    // Обработка успешного ответа
}


Замените 'http://example.com/post_endpoint' на адрес, на который нужно отправить запрос, и 'foo' => 'bar' на данные, которые необходимо передать в теле запроса.