Чтобы отправить запрос JSON POST с помощью PHP, вы можете использовать несколько методов. Вот несколько распространенных подходов:
Метод 1. Использование cURL:
$url = 'https://example.com/api';
$data = json_encode($yourData);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data)
));
$response = curl_exec($ch);
curl_close($ch);
Метод 2: использование HTTP-клиента Guzzle (требуется библиотека Guzzle):
use GuzzleHttp\Client;
$client = new Client(['base_uri' => 'https://example.com']);
$response = $client->request('POST', '/api', [
'headers' => ['Content-Type' => 'application/json'],
'body' => json_encode($yourData),
]);
$result = $response->getBody()->getContents();
Способ 3. Использование встроенных функций PHP:
$url = 'https://example.com/api';
$data = json_encode($yourData);
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/json',
'content' => $data
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
Обратите внимание, что в этих примерах $yourDataпредставляет данные JSON, которые вы хотите отправить в запросе POST.