kwazaro/yii2-httpclient-requests-limit

这是Yii2 Http Client的行为,它提供了每秒或每分钟的请求数量限制。它适用于连接带有速率限制的Web服务。

v1.0.1 2024-09-13 07:16 UTC

This package is auto-updated.

Last update: 2024-09-13 07:24:02 UTC


README

这是Yii2 Http Client的行为,它提供了每秒或每分钟的请求数量限制。它适用于连接带有速率限制的Web服务。此行为使用Yii2 Redis扩展来存储速率限制信息。

安装

安装此扩展的首选方法是通过composer

运行以下命令之一:

php composer.phar require --prefer-dist kwazaro/yii2-httpclient-requests-limit "*"

或者

"kwazaro/yii2-httpclient-requests-limit": "*"

将以下内容添加到您的composer.json文件的require部分。

用法

扩展安装后,只需在代码中简单使用即可

<?php
use kwazaro\yii2\httpclient\HttpClientRateLimitBehavior;

$client = new \yii\httpclient\Client([
    'baseUrl' => 'https://example.com/api',
]);
$client->attachBehavior('requestsLimit', [
    'class' => HttpClientRateLimitBehavior::class,
    'redis' => 'redis', // ID of your Yii2 Redis component.
    'redisKey' => 'myRequests', // Name of Redis key for storing data.
    'maxRequestsPerSecond' => 10, // Max number of requests per second.
    'maxRequestsPerMinute' => 100, // Max number of requests per minute.
]);