hasanparasteh/async-request

该软件包已被废弃且不再维护。作者建议使用 saraf/async-request 软件包。

在 reactphp 项目中尽可能简单地使用 async curl

0.1.5 2023-06-01 14:43 UTC

This package is auto-updated.

Last update: 2023-06-19 19:13:38 UTC


README

此软件包将帮助您以异步方式向任何服务器发送任何请求!只需按照说明顺序安装和设置异步 curl 软件包。

> composer require hasanparasteh/async-request

快速入门示例

这是进行 GET 请求的最简单方式。结果将在一个可调用的函数中,包含3个主要数据。

  1. result: bool=> 表示 curl 是否成功
  2. code: int=> http 状态码
  3. body: array=> 服务器返回的 json 解码数组
  4. error: string=> curl 错误的描述
$request = new AsyncRequest("https://reqres.in");
$request->get("/api/users", ["page" => 2])->then(function ($result) {
    if (!$result['result'])
        echo "Curl Error cause {$result['error']}";
    else
        switch ($result['code']) {
            case 200:
                echo "Server Response 200 With " . json_encode($result['body'], 128);
                break;
            case 400:
                echo "Server Response 400";
                break;
            case 500:
                echo "Server Response 500";
                break;
            // .. and any other response Code
        }
});

GET

如果您需要传递任何查询参数,只需将其作为数组发送到第二个参数,如果需要添加任何头信息,请将其作为数组传递到第三个参数。

$request->get("endpoint")

POST

它与 GET 请求类似,但将参数作为 json 编码的原始数据发送。

$request->get("endpoint", ['paramName' => 'paramValue' ], ['headerName'=>'headerValue']);

PUT

它与 POST 完全相同。

$request->put("endpoint")

PATCH

它与 POST 完全相同。

$request->patch("endpoint")

DELETE

它与 POST 完全相同。

$request->delete("endpoint")