我想使用Guzzle PHP HTTP客户端发送异步请求,但似乎它只允许body为字符串。
我有标头变量
$headers = [
"Authorization" : $token
];
同样我希望身体也作为数组
$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设置为数组/(如果需要,嵌套数组)。
答案 0 :(得分:2)
使用json_encode
功能,通过
$request = new \GuzzleHttp\Psr7\Request(
'POST',
'API_URL',
$headers,
json_encode($body)
);