fain182/diciotto

此包已被废弃且不再维护。没有推荐替代包。

一个无废话的PHP Http客户端(PSR 18兼容)

v1.0.4 2019-07-03 20:01 UTC

README

Imgur

Latest Stable Version Build Status Coverage Status

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的实现。