Для отправки POST-запроса на другой сайт без использования cUrl вам нужно использовать функцию file_get_contents() в сочетании с потоковым контекстом.
Для этого необходимо создать ассоциативный массив $options, который будет содержать различные настройки для вашего запроса. Внутри массива вы можете определить заголовки, метод запроса, данные, а также другие параметры, которые требуются для правильного выполнения запроса.
Ниже представлен пример кода, демонстрирующего отправку POST-запроса на другой сайт без использования cUrl:
<?php // URL для отправки запроса $url = 'https://example.com/api'; // Данные, которые нужно отправить $data = array( 'param1' => 'value1', 'param2' => 'value2' ); // Определение заголовков запроса $headers = array( 'Content-type: application/x-www-form-urlencoded', 'Authorization: Bearer your_token' ); // Настройки для контекста потока $options = array( 'http' => array( 'header' => implode('rn', $headers), 'method' => 'POST', 'content' => http_build_query($data) ) ); // Создание контекста потока $context = stream_context_create($options); // Отправка POST-запроса $result = file_get_contents($url, false, $context); // Проверка результата if ($result === FALSE) { echo 'Ошибка отправки запроса'; } else { echo 'Успешный запрос'; // Обработка ответа от сервера } ?>
В этом примере мы использовали функцию http_build_query() для преобразования массива данных в строку запроса формата x-www-form-urlencoded. Также, мы определили заголовки для запроса в виде массива и объединили их с помощью implode(), чтобы получить одну строку заголовков.
Затем мы создали массив $options, где определили метод запроса, заголовки и данные для отправки, а затем создали контекст потока с этими настройками с помощью функции stream_context_create().
Наконец, мы использовали функцию file_get_contents(), передавая ей URL и созданный контекст потока. В результате запроса мы получаем ответ от сервера, который мы можем обработать далее.