php - Guzzle 中的异步请求正文

标签 php http guzzle

我想使用 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函数,通过

传递你的body数组
$request = new \GuzzleHttp\Psr7\Request(
    'POST',
    'API_URL',
    $headers,
    json_encode($body)
);

关于php - Guzzle 中的异步请求正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44636453/

相关文章:

php - curl 请求 Guzzle

php - jquery 在网页上播放幻灯片的最简单方法

php - 在数据库中输入主键时出错

python - 处理上传的图像 zip 时出现 HTTP 504

php - Guzzle with Xdebug 找不到他的函数

php - fatal error : Uncaught exception 'RuntimeException' with message 'Puli Factory is not available' while sending mail using mailgun

php - 如何在mysql中散列自动增量

php - curl 获取远程文件并同时强制下载

http - 使用 mirth 连接时如何更改 FHIR 监听器中的 HTTP URL?

java - 从浏览器上传后解码存储在数据库中的二进制文件