jooservices/xclient

Guzzle HTTP Client 的包装器

0.1.4.2 2023-03-01 09:25 UTC

README

为 GuzzleHttp Client 包装

Factory 用于创建具有包装中间件的客户端

  • 缓存
  • 测试时的模拟

XCrawlerClient 是带有高级功能的 Factory 包装器

  • 解析 response ( ResponseInterface )

以下是 ResponseInterface 的几个实现

  • DomResponse 自动转换为 DomCrawler
  • JsonResponse 自动将 json 转换为数组
  • FlickrResponse 专门用于 Flickr json
  • Now 专门用于 NowService

如何使用缓存

    $local = new FlysystemStorage(new Local(__DIR__ . '/cache'));
    $url = $this->faker->url;
    $cache = new CacheMiddleware(
        new PrivateCacheStrategy(
            $local
        )
    );

    $factory = new Factory($this->logger, 200);

如何使用模拟

提供 4xx - 5xx 用于错误情况

$factory = new Factory($this->logger, 200);

待办事项

  • 支持 OAuth 1/2
  • 支持 Flickr