Skip to content

Latest commit

 

History

History
72 lines (51 loc) · 1.46 KB

yi-bu-http-ke-hu-duan.md

File metadata and controls

72 lines (51 loc) · 1.46 KB

异步Http客户端

Get方式

1.使用域名形式

    use AsyncHttp;

    //直接使用域名, get方式
    $http = new AsyncHttp('http://groupco.com');
    //设置2s超时
    $http->setTimeout(2);
    //$http->setCookies(['token' => 'xxxx']);
    $res = (yield $http->get('/'));

2.使用ip:port形式

    use AsyncHttp;

    //也可以通过ip:port方式
    $http = new AsyncHttp('http://127.0.0.1:80');
    $http->setHost('groupco.com');
    $res = (yield $http->get('/user', ['id' => 1]));

Post方式

1.使用域名形式

    use AsyncHttp;

    //使用https, post方式
    $http = new AsyncHttp('https://groupco.com');
    $res = (yield $http->post('/test', ['postId' => 52]));

2.使用ip:port形式

    use AsyncHttp;

    //也可以通过ip:port方式
    $http = new AsyncHttp('http://127.0.0.1:80');
    $http->setHost('groupco.com');
    $res = (yield $http->post('/test', ['postId' => 52]));
注:若请求https地址,需要在编译swoole时开启openssl

其他使用形式(自定义)

    use AsyncHttp;

    $http = new AsyncHttp('http://127.0.0.1:9200');
    yield $http->parseDomain();
    
    $client = $http->getClient("/search");
    $client->setMethod("GET");
    $client->setData('xxxx');
    $client->setHeaders(['Content-Type' => 'application/json']);
    $res = (yield $client);
    if ($res && $res['response']) {
        dump($res['response']);
    }