Drupal::httpClient при GET-запросе меняет '&' на '&'

16 июля 2020 в 15:13
Аватар пользователя Shipovnix Shipovnix 0 2 Решено

Есть код запроса:

<?php
$api_link 
'https://api.mydomain.ru/sendmsg?case=10894574&text=foo';
$api_request = \Drupal::httpClient()->get($api_link);
?>

Узел-адресат не видит второй параметр (text=foo). Начал разбираться, обнаружил, что запрос уходит в таком виде:
https://api.mydomain.ru/sendmsg?case=10894574&amp;text=foo
В логах Друпала вот такая ошибка:

GuzzleHttp\Exception\ConnectException: Error creating resource: [message] fopen(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution [file] /var/www/webgate/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php [line] 324 [message] fopen(https://api.mydomain.ru/sendmsg?case=10894574&amp;text=foo): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution [file] /var/www/webgate/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php [line] 324 in GuzzleHttp\Handler\StreamHandler->__invoke() (line 66 of /var/www/webgate/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php).

И никаким образом не удается избавиться от 'amp;' в строке адреса.

Комментарии