webguosai/hyperf-http-client

dev-main 2025-07-16 09:52 UTC

This package is auto-updated.

Last update: 2025-07-16 09:50:38 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

运行环境

  • php >= 8.1
  • composer
  • hyperf >= 3.1

安装

composer require webguosai/hyperf-http-client -vvv

配置

发布配置

php bin/hyperf.php vendor:publish webguosai/hyperf-http-client

配置文件

return [
    // 超时
    'timeout'       => 3,

    // 代理
    'proxy_socks5'  => false, // 是否使用 socks5
    'proxy'         => '', // 代理ip,如:0.0.0.0:8888

    // 允许重定向及重定向次数
    'redirects'     => false,
    'maxRedirect'   => 5,

    // 保存cookie的文件路径
    'cookieJarFile' => '',
];

使用

发送请求

  • 写法一
use function \Webguosai\HyperfHttpClient\http;

$response = http()->request($url, $method, $data, $headers);
$response = http()->get($url, $query, $headers);
$response = http()->post($url, $data, $headers);
$response = http()->put($url, $data, $headers);
$response = http()->patch($url, $data, $headers);
$response = http()->delete($url, $data, $headers);
$response = http()->head($url, $data, $headers);
$response = http()->options($url, $data, $headers);
  • 写法二
/** @var $http \Webguosai\HttpClient\Contract\HttpClientInterface * */
$http = di(\Webguosai\HttpClient\Contract\HttpClientInterface::class);

$response = $http->request($url, $method, $query, $headers);
$response = $http->get($url, $query, $headers);
$response = $http->post($url, $data, $headers);
$response = $http->put($url, $data, $headers);
$response = $http->patch($url, $data, $headers);
$response = $http->delete($url, $data, $headers);
$response = $http->head($url, $data, $headers);
$response = $http->options($url, $data, $headers);

实操

/** @var $throw \Webguosai\HttpClient\Exception\RequestException **/
[$status, $throw] = $response->ok();
if ($status) {
    var_dump($response->getBody());
    var_dump($response->json());
} else {
    var_dump($throw->getMessage());
    var_dump($throw->getErrorType());
    var_dump($throw->getCode());
}

文档

https://github.com/webguosai/http-client-v2

License

MIT