• 异步Http/WebSocket客户端
    • 启用Http客户端
    • 构造方法
    • 对象属性
    • 异常错误码

    异步Http/WebSocket客户端

    Swoole-1.8.0版本增加了对异步Http/WebSocket客户端的支持。底层是用纯C编写,拥有超高的性能。

    启用Http客户端

    • 1.8.6版本之前,需要在编译swoole时增加—enable-async-httpclient来开启此功能。
    • swoole_http_client不依赖任何第三方库
    • 支持Http-ChunkKeep-Aliveform-data
    • Http协议版本为HTTP/1.1
    • gzip压缩格式支持需要依赖zlib

    构造方法

    1. function swoole_http_client->__construct(string $ip, int port, bool $ssl = false);
    • $ip 目标服务器的IP地址,可使用swoole_async_dns_lookup查询域名对应的IP地址
    • $port 目标服务器的端口,一般http80https443
    • $ssl 是否启用SSL/TLS隧道加密,如果目标服务器是https必须设置$ssl参数为true

    对象属性

    • $body 请求响应后服务器端返回的内容
    • $statusCode 服务器端返回的Http状态码,如404200500
    • $set_cookie_headers 服务器端返回的原始COOKIE信息,包括了domainpath
    • $headers Http请求头
    • $cookies Http Cookie

    异常错误码

    某些情况下服务器端没有正常返回数据,底层会将$statusCode标记为负数。

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