【发布时间】:2014-10-28 23:22:02
【问题描述】:
如果请求期间发生错误,Guzzle 会抛出异常。不幸的是,似乎没有特定于超时的错误 - 这对我来说很重要,因为我知道这些偶尔会发生。我想重试相应的请求,并且需要能够判断错误是否由于超时而发生。
来自docs:
// Timeout if a server does not return a response in 3.14 seconds.
$client->get('/delay/5', ['timeout' => 3.14]);
// PHP Fatal error: Uncaught exception 'GuzzleHttp\Exception\RequestException'
RequestException 在其message 属性中包含信息:
"cURL error 28: Operation timed out after 3114 milliseconds with 0 bytes received"
所以我可以评估消息模式,但这感觉有点不对,因为这些消息将来很容易更改。
在使用 guzzle 4 时是否有更好/更稳定的方法来检查超时?
【问题讨论】:
标签: php exception timeout guzzle