我想获取http请求花费的秒数。我有这个代码:
$starttime = microtime(true);
$response = $this->httpClient->request(
'POST',
$endpoint,
[
'headers' => $header,
'body' => $inputXml
]
);
sleep(2);
$endtime = microtime(true);
$timeDiffInSeconds = ($endtime - $starttime);
请求大约需要 3 秒,加上睡眠时间,在邮递员中我看到 5,08 秒,看起来是正确的。但在 PHP 中,我 $timeDiffInSeconds 是 float(2.0008609294891)。
http客户端是异步的吗?我怎样才能看到真实的执行时间? http客户端中有一个参数可以显示花费的时间吗?
请求是异步的,因此为了等待,我们需要询问有关响应的信息,例如:
$statusCode = $response->getStatusCode();
这解决了我的问题。