属性列表

errCode

类型为int型。当connect/send/recv/close失败或者超时时,会自动设置Swoole\Coroutine\Http\Client->errCode的值。
errCode的值等于Linux errno。可使用socket_strerror将错误码转为错误信息。

echo socket_strerror($client->errCode);
  • 如果connect refuse,错误码为111
  • 如果超时,错误码为110

附录:Linux的errno定义

body

存储上次请求的返回包体

$cli = new Swoole\Coroutine\Http\Client('127.0.0.1', 80);
$cli->get('/index.php');
echo $cli->body;
$cli->close();

statusCode

Http状态码,如200404等。状态码如果为负数,表示连接存在问题。

  • -1:连接超时,服务器未监听端口或网络丢失,可以读取$errCode获取具体的网络错误码
  • -2:请求超时,服务器未在规定的timeout时间内返回response
  • -3:客户端请求发出后,服务器强制切断连接

在v4.2.10以后可以通过常量获取

define('SWOOLE_HTTP_CLIENT_ESTATUS_CONNECT_FAILED', -1);
define('SWOOLE_HTTP_CLIENT_ESTATUS_REQUEST_TIMEOUT', -2);
define('SWOOLE_HTTP_CLIENT_ESTATUS_SERVER_RESET', -3);