ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# Coroutine\\Http2\\Client->send [TOC] 向服务器发送请求,底层会自动建立一个`Http2`的`stream`。可以同时发起多个请求。 ~~~ function Coroutine\Http2\Client->send(swoole_http2_request $request) : int | false ~~~ * 接受`swoole_http2_request`类的对象作为参数 * 成功返回流的编号,编号为从`1`开始自增的奇数 * 失败返回`false` ## Request对象 `swoole_http2_request`对象没有任何方法,通过设置对象属性来写入请求相关的信息。 * `headers`数组,`HTTP`头 * `method`字符串,设置请求方法,如`GET`、`POST` * `path`字符串,设置`URL`路径,如`/index.php?a=1&b=2`,必须以`/`作为开始 * `cookies`数组,设置`COOKIES` * `data`设置请求的`body`,如果为字符串时将直接作为`RAW form-data`进行发送 * `data`为数组时,底层自动会打包为`x-www-form-urlencoded`格式的`POST`内容,并设置`Content-Type`为`application/x-www-form-urlencoded` * `pipeline`布尔型,如果设置为`true`,发送完`$request`后,不关闭`stream`,可以继续写入数据内容 ## PIPELINE 默认`send`方法在发送请求之后,会结束当前的`Http2 Stream`,启用`PIPELINE`后,底层会保持`stream`流,可以多次调用`write`方法,向服务器发送数据帧,请参考`write`方法。