На офф. сайте сказано, что клиент сам разбирается и форматирует. Но это не работает, когда с обратной стороны сидит какой-то древний сервер, что отвечает в виде
Код: Выделить всё
Content-Type: text/html
<?xml version="1.0" encoding="utf-8"?>
<files>
<result>
...............
Код: Выделить всё
->setFormat(Client::FORMAT_XML)
->setHeaders([
'Accept' => 'application/xml, text/xml',
])
->send();
Можно как-то по-простому указать клиенту, что не важно, какой там заголовок. Просто берем и парсим как XML ?Unable to detect format for content parsing. Raw response:
Или обязательно делать "свой" парсер, который наследовать от XML-парсера и натравливать на mime-type text/html?
https://github.com/yiisoft/yii2-httpcli ... 1%8B%D1%85
PS:
такой вариант также не сработал
Код: Выделить всё
$response = (new Client([
'parsers' => [
'html' => 'yii\httpclient\XmlFormatter',
'text' => 'yii\httpclient\XmlFormatter',
'text/html' => 'yii\httpclient\XmlFormatter',
],
]))->createRequest()
Код: Выделить всё
$response = (new Client([
'formatters' => [
'html' => 'yii\httpclient\XmlFormatter',
'text' => 'yii\httpclient\XmlFormatter',
'text/html' => 'yii\httpclient\XmlFormatter',
],
]))->createRequest()