Swoole怎么获取HTTP请求的原始Header信息

32次阅读

Swoole通过$request->header获取小写键名的请求头数组,可直接访问如content-type等字段,示例代码展示获取全部或特定header并输出,注意必须使用小写键名,特殊header如cookie需自行解析。

Swoole怎么获取HTTP请求的原始Header信息

在 Swoole 中处理 HTTP 请求时,可以通过 $request->header 属性获取客户端发送的原始 Header 信息。这个属性返回的是一个关联数组,键名为小写的 header 名称,值为对应的 header 内容。

1. 获取原始 Header 的方法

Swoole 的 SwooleHttpRequest 对象提供了 header 属性,用于访问所有请求头:

  • $request->header:返回所有 header,键名自动转为小写
  • 例如,请求中包含 Content-Type: application/json,可通过 $request->header['content-type'] 获取

示例代码:

$server = new SwooleHttpServer("0.0.0.0", 9501);  $server->on("request", function ($request, $response) {     // 获取全部 header     var_dump($request->header);      // 获取特定 header     $contentType = $request->header['content-type'] ?? '';     $userAgent = $request->header['user-agent'] ?? '';      $response->end("Content-Type: $contentType"); });  $server->start();

2. 注意事项

由于 HTTP/1.1 协议规定 header 名称不区分大小写,Swoole 会统一将 header 键名转为小写。因此在访问时必须使用小写名称,例如:

Swoole怎么获取HTTP请求的原始Header信息

微信 WeLM

WeLM不是一个直接的对话机器人,而是一个补全用户输入信息的生成模型。

Swoole怎么获取HTTP请求的原始Header信息33

查看详情 Swoole怎么获取HTTP请求的原始Header信息

  • 正确:$request->header['accept']
  • 错误:$request->header['Accept'](可能取不到值)

如果需要保留原始大小写格式,Swoole 不直接支持,需通过底层 socket 自行解析原始请求数据,但一般场景下不推荐这样做。

3. 特殊 Header 处理

某些 header 可能包含多个值(如 Cookie),Swoole 会原样保留其字符串内容,不会自动拆分:

  • $request->header['cookie'] 返回完整的 cookie 字符串
  • 可使用 PHP 的 parse_str 或手动 explode 解析

基本上就这些。Swoole 的 header 获取方式简单直接,适合大多数 Web 开发需求。

以上就是Swoole怎么获取HTTP请求的原始Header信息的详细内容,更多请关注php js json cookie app swoole php swoole json 关联数组 Cookie 字符串 对象 http

php js json cookie app swoole php swoole json 关联数组 Cookie 字符串 对象 http

text=ZqhQzanResources