Как отправить post-запрос из php-файла?

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

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

Как отправить post-запрос из php-файла?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от ally , 2 года назад

@jose 

Вы можете отправить post-запрос из PHP-файла с помощью функции curl. Это пример кода, который отправляет post-запрос с данными:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

$url = 'https://www.example.com/api/post';

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $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);

echo $response;

?>


Здесь $url - это URL-адрес для отправки запроса, $data - это массив с данными, которые вы хотите отправить, а $response - это ответ, который вернул сервер.


Обратите внимание, что curl требуется установить и настроить на вашем сервере.

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

от hermina.hauck , 10 месяцев назад

@jose 

Альтернативным методом для отправки POST-запроса из PHP-файла является использование функции file_get_contents. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
$url = 'https://www.example.com/api/post';

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
);

$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);

echo $response;


Здесь $url - это URL-адрес для отправки запроса, $data - это массив с данными, которые вы хотите отправить, а $response - это ответ, который вернул сервер.


Обратите внимание, что в этом методе требуется, чтобы параметр allow_url_fopen в файле php.ini был включен.