edgetelemetrics/reactphp-http-browser-curl

使用Curl和Fibers的异步HTTP客户端

v0.0.1-alpha 2022-11-25 03:40 UTC

This package is auto-updated.

Last update: 2024-09-12 03:46:12 UTC


README

使用CURL实现异步HTTP客户端

*** 注意 *** 这是一个正在进行中的工作,不是ReactPHP浏览器的100%兼容替代品

为什么不使用react/http浏览器包?

使用cURL可以实现HTTP/2+3,并提取请求的计时数据。这种功能在ReactPHP浏览器实现中不可用

需求

该包与PHP 8.2+兼容,需要cURL扩展和react/event-loop库。

安装

您可以使用Composer将库作为项目依赖项添加。

composer require edgetelemetrics/reactphp-http-browser-curl

示例

请参阅/examples目录。示例基于MIT许可证下的reactphp/http示例

计时

请求计时值返回在PSR7响应对象的头部下,键为Server-Timing

配置

浏览器可以通过构造函数提供的标准CURLOPT_*参数进行配置。

$browser = new Browser([
    CURLOPT_TIMEOUT => 20,
    CURLOPT_DOH_URL, 'https://1.1.1.1/dns-query',
    CURLOPT_DNS_SERVERS => '1.1.1.1',
]);

许可证

MIT,请参阅LICENSE文件

贡献

可以通过问题跟踪器提交错误报告(和小的补丁)。对于重大的补丁,推荐通过分支存储库并提交拉取请求。