myth21/context-http-requester

上下文 HTTP 请求者

dev-main 2023-05-26 10:40 UTC

This package is auto-updated.

Last update: 2024-09-26 13:32:53 UTC


README

特性:该类通过 PHP 中的流上下文抽象 HTTP 通信。它提供方便的方法来发送 GET、POST 和 PUT 请求,并设置请求头。该类存储最后发送请求的请求头和响应头,以供进一步检查。它还具有配置选项来解码或不解码响应。该类可扩展以实现其他 HTTP 方法。一个可以改进的地方是错误处理不足。例如,代码假设响应的文件内容始终是字符串,如果出现错误,则可能不是这样。另一个潜在的担忧是,此类在某些情况下可能过于简单。它不提供自定义响应中发送的 HTTP 状态码的功能,设置 cookies 或处理重定向等。总的来说,这段代码以轻量级的方式在 PHP 中执行简单的 HTTP 请求,但可能不适合更复杂的情况。

需求

  • PHP >= 8.0
  • PHPUnit >= 9.3

安装

composer require myth21/context-http-requester:dev-main

用法

获取实体列表

$contextHttpRequester = new ContextHttpRequester();

$contextHttpRequester->sendGetRequest('http://example.com/comments/');

创建实体

$contextHttpRequester->sendPostRequest('http://example.com/comments/', [
    'id' => null,
    'name' => 'Bob',
    'text' => 'Hello, World',
]);

更新实体

$contextHttpRequester->sendPutRequest('http://example.com/comments/123/', [
    'name' => 'Alice',
    'text' => 'Hi, everyone',
]);

测试

需要 phpunit。

可选:您可以从 comment_server.php 目录运行服务器进行测试,通过命令

php -S localhost:8000 -f comment_server.php

运行测试,示例

php vendor/bin/phpunit vendor/myth21/context-http-requester/CommentClientTest.php -c vendor/myth21/context-http-requester/example.phpunit.xml --color --do-not-cache-result