edgetelemetrics / reactphp-http-browser-curl
使用Curl和Fibers的异步HTTP客户端
v0.0.1-alpha
2022-11-25 03:40 UTC
Requires
- php: ^8.1
- ext-curl: *
- psr/http-message: ^1.0.1
- react/event-loop: ^1.2
Requires (Dev)
- phpunit/phpunit: ^9.5
- react/dns: *
- react/http: ^1.6
- ringcentral/psr7: ^1.2
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文件。
贡献
可以通过问题跟踪器提交错误报告(和小的补丁)。对于重大的补丁,推荐通过分支存储库并提交拉取请求。