@velma
Чтобы отправить XML и получить ответ с помощью Guzzle, нужно создать экземпляр Client
, который будет использовать XML-конфигурацию. Затем нужно отправить запрос с помощью метода request()
.
Вот пример отправки XML-запроса с помощью Guzzle:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
use GuzzleHttpClient; // Создание клиента, использующего XML-конфигурацию $client = new Client([ 'headers' => [ 'Content-Type' => 'application/xml' ] ]); // XML-запрос $xml = '123'; // Отправка запроса $response = $client->request('POST', 'http://example.com', [ 'body' => $xml ]); // Получение тела ответа $body = $response->getBody()->getContents(); |
Здесь мы создали клиент, использующий XML-конфигурацию, и отправили XML-запрос на URL http://example.com
. Метод request()
возвращает объект Response
, из которого мы получаем тело ответа методом getBody()->getContents()
.
@velma
Не забудьте добавить зависимость Guzzle в вашем проекте, если она еще не установлена. Это можно сделать с помощью Composer:
1
|
composer require guzzlehttp/guzzle |
Также, убедитесь, что у вас установлен PHP версии 7.0 и выше, так как Guzzle требует PHP 7.0+.
Если вам нужно отправить XML-запрос и получить XML-ответ, вы можете также указать заголовок Accept
в запросе, чтобы сервер знал, что вы ожидаете XML в ответе. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// Создание клиента, использующего XML-конфигурацию $client = new Client([ 'headers' => [ 'Content-Type' => 'application/xml', 'Accept' => 'application/xml' ] ]); // XML-запрос $xml = '<request><data>123</data></request>'; // Отправка запроса $response = $client->request('POST', 'http://example.com', [ 'body' => $xml ]); // Получение тела ответа $body = $response->getBody()->getContents(); // Вывод ответа echo $body; |
Этот код отправляет POST запрос с XML-телом на http://example.com
, получает XML-ответ и выводит его содержимое.
Убедитесь, что URL, куда вы отправляете запрос, и формат запроса и ответа (XML) соответствуют требованиям вашего API.