Дублированные параметры для почтового запроса в Guzzle 6

Для некоторых API требуется несколько повторяющихся параметров в запросе POST. Это выглядит так:

curl -X POST https://api.freenom.com/v2/domain/register\
-d “domainname=TEST001.TK\
&nameserver=NS1.TEST001.TK\
&nameserver=NS2.TEST001.TK\
&domaintype=PAID”

С Guzzle я пытаюсь сделать что-то. как это:

$this->client->post($this->apiUrl . 'domain/register', ['form_params' => ['nameserver' => ['ns1.com', 'ns2.com']]])

но это не работает. Возможно, я могу указать form_data как строку вместо массива, но я не нашел решения, как это сделать.


person yuriy.stos    schedule 03.03.2017    source источник


Ответы (1)


Вы можете использовать raw body вместо form_params для прямой передачи тела запроса в виде строки. В этом случае вы можете создать строку, как хотите.

person Alexey Shokov    schedule 19.04.2017
comment
В новейшей версии вы должны использовать multipart вместо body. Передача параметра основного запроса в виде массива для отправки запроса POST устарела. Используйте параметр запроса form_params, чтобы отправить запрос application/x-www-form-urlencoded, или параметр запроса multipart, чтобы отправить запрос multipart/form-data. - person revoke; 02.08.2017
comment
Это зависит от вашего варианта использования. body — правильный способ, если вам нужно передать произвольную строку, а multipart используется для построения сложного тела из массива. Различные варианты использования. - person Alexey Shokov; 02.08.2017