webguosai / hyperf-http-client
hyperf http客户端
dev-main
2025-07-16 09:52 UTC
Requires
- php: >=8.1
- ext-curl: *
- ext-iconv: *
- ext-json: *
- ext-libxml: *
- ext-openssl: *
- ext-simplexml: *
- hyperf/di: ^3.1
- webguosai/http-client-v2: dev-main
Requires (Dev)
- symfony/var-dumper: ^3.4
This package is auto-updated.
Last update: 2025-07-16 09:50:38 UTC
README
运行环境
- 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