fain182 / diciotto
此包已被废弃且不再维护。没有推荐替代包。
一个无废话的PHP Http客户端(PSR 18兼容)
v1.0.4
2019-07-03 20:01 UTC
Requires
- php: >=7.1.0
- ext-curl: *
- ext-json: *
- nyholm/psr7: ^1.0
- psr/http-client: ^1.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^7.4
- roave/security-advisories: dev-master
Provides
This package is auto-updated.
Last update: 2023-10-21 21:28:38 UTC
README
Diciotto是一个无废话的PSR-18符合规范的PHP 7 HTTP客户端库。
原则
- 文档应该是多余的
- 提供合理的默认值
- 明确优于隐含
- 优先考虑良好的开发者体验而非性能
- 不要有惊喜
安装
composer require fain182/diciotto
如何...
发送GET请求
$httpClient = new HttpClient(); $response = $httpClient->sendRequest( new Request('http://www.google.com') );
发送带有JSON体的POST请求
$httpClient = new HttpClient(); $request = new JsonRequest('https://httpbin.org/put', 'POST', ['name' => 'value']); $response = $httpClient->sendRequest($request);
发送不同超时时间的请求
默认超时时间为15秒。
$httpClient = (new HttpClient())->withTimeout(30); $response = $httpClient->sendRequest( new Request('http://www.google.com') );
向具有自签名或无效SSL证书的服务器发送请求
$httpClient = (new HttpClient())->withCheckSslCertificates(false); $response = $httpClient->sendRequest( new Request('http://www.google.com') );
发送带有cookie的请求
$httpClient = new HttpClient(); $request = (new Request('http://www.google.com'))->withAddedCookie('name', 'value'); $response = $httpClient->sendRequest( $request );
错误处理
Diciotto在请求无效(RequestException
)或存在网络问题时(NetworkException
)会抛出异常。状态码为4xx或5xx的响应会被视为其他情况,因此不会抛出异常或错误。
关于
需求
- Diciotto与PHP 7.1或更高版本兼容。
许可证
Diciotto采用MIT许可证 - 详细信息请参阅LICENSE
文件。
致谢
Diciotto基于nyholm/psr7构建,该库提供了PSR-7和PSR-17的实现。