我想使用 Guzzle PHP HTTP 客户端发送一个异步请求,但是它似乎只允许 body 是一个字符串。
我有标题变量作为
$headers = [
"Authorization" : $token
];
同样我也想把 body 也作为数组
$body = [
"x"=>$y,
"y"=>$z,
]
我将请求变量设为
$request = new \GuzzleHttp\Psr7\Request(
'POST',
'API_URL',
$headers,
$body
);
但是我得到 InvalidArgumentException Invalid resource type: array
错误,但是在尝试 $body="some useless string"
时,请求被发送到服务器,但是得到错误,因为主体没有适当的参数。
如何使用所需的键将此处的 Body 设置为数组/(如果需要,嵌套数组)。
最佳答案
使用json_encode
函数,通过
$request = new \GuzzleHttp\Psr7\Request(
'POST',
'API_URL',
$headers,
json_encode($body)
);
关于php - Guzzle 中的异步请求正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44636453/