1.15.6.1 workerman/http-client

优质
小牛编辑
125浏览
2023-12-01

说明

workerman/http-client是一个异步http客户端组件。所有请求响应异步非阻塞,内置连接池,消息请求和响应符合PSR7规则。

安装:

composer require workerman/http-client

示例:

<?php
require __DIR__ . '/vendor/autoload.php';
use WorkermanWorker;
$worker = new Worker();
$worker->onWorkerStart = function(){
    $http = new WorkermanHttpClient();

    $http->get('http://example.com/', function($response){
            var_dump($response->getStatusCode());
            echo $response->getBody();
        }, function($exception){
            echo $exception;
        });

    $http->post('http://example.com/', ['key1'=>'value1','key2'=>'value2'], function($response){
            var_dump($response->getStatusCode());
            echo $response->getBody();
        }, function($exception){
            echo $exception;
        });

    $http->request('http://example.com/', [
            'method'  => 'POST',
            'version' => '1.1',
            'headers' => ['Connection' => 'keep-alive'],
            'data'    => ['key1' => 'value1', 'key2'=>'value2'],
            'success' => function ($response) {
                echo $response->getBody();
            },
            'error'   => function ($exception) {
                echo $exception;
            }
        ]);
};
Worker::runAll();

注意:

1、项目首先要加载require __DIR__ . '/vendor/autoload.php';

2、所有的异步编码必须在onXXX回调中编写

3、支持基于workerman开发的所有项目,包括GatewayWorker、PHPSocket.io等