【发布时间】:2021-01-15 20:59:46
【问题描述】:
我已阅读 https://docs.guzzlephp.org/en/stable/request-options.html#http-errors 文档。但是,我不知道何时将其设置为真/假。
如果有人可以举例说明,那对我很有帮助。
谢谢你, 特鲁提
【问题讨论】:
我已阅读 https://docs.guzzlephp.org/en/stable/request-options.html#http-errors 文档。但是,我不知道何时将其设置为真/假。
如果有人可以举例说明,那对我很有帮助。
谢谢你, 特鲁提
【问题讨论】:
看看状态码HTTP response status codes
这是 guzzle 文档中针对 http 错误所写的内容。
设置为 false 以禁用在 HTTP 协议错误(即 4xx 和 5xx 响应)上引发异常。遇到 HTTP 协议错误时默认抛出异常。
当您为 Web uri 发送 http 请求时,不可能一切正常,您可能会遇到不同的错误,例如连接错误、服务器错误,甚至是客户端错误。
因此,为了处理这些问题,使用了 400-499 和 500-599 之间的不同状态代码。
对于通过 guzzle 发送的请求,这些请求由 GuzzleException 处理。查看错误的层次结构here。
因此,通过使用http_errors 作为false 发送请求,您是在告诉我不要打扰我抛出范围 400-499(由 ClientException 处理)和 500-599(ServerException)的错误
$client->request('GET', '/status/500', ['http_errors' => false]);
所以如果您的请求有任何这些错误(例如 403),guzzle 不会通知您。
【讨论】: