mirror of
https://github.com/cxfksword/jellyfin-plugin-danmu.git
synced 2026-02-02 17:59:58 +08:00
chore: limit bilibili request frequently. #106
This commit is contained in:
@@ -21,7 +21,7 @@ public class BilibiliApi : AbstractApi
|
|||||||
{
|
{
|
||||||
private static readonly object _lock = new object();
|
private static readonly object _lock = new object();
|
||||||
private TimeLimiter _timeConstraint = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromMilliseconds(1000));
|
private TimeLimiter _timeConstraint = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromMilliseconds(1000));
|
||||||
private TimeLimiter _delayExecuteConstraint = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromMilliseconds(100));
|
private TimeLimiter _limitDownloadRequestConstraint = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromSeconds(10));
|
||||||
private TimeLimiter _delayShortExecuteConstraint = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromMilliseconds(10));
|
private TimeLimiter _delayShortExecuteConstraint = TimeLimiter.GetFromMaxCountByInterval(1, TimeSpan.FromMilliseconds(10));
|
||||||
|
|
||||||
private static readonly Regex regBiliplusVideoInfo = new Regex(@"view\((.+?)\);", RegexOptions.Compiled);
|
private static readonly Regex regBiliplusVideoInfo = new Regex(@"view\((.+?)\);", RegexOptions.Compiled);
|
||||||
@@ -151,7 +151,7 @@ public class BilibiliApi : AbstractApi
|
|||||||
throw new ArgumentNullException(nameof(cid));
|
throw new ArgumentNullException(nameof(cid));
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.LimitRequestFrequently();
|
await this._limitDownloadRequestConstraint;
|
||||||
|
|
||||||
var url = $"https://api.bilibili.com/x/v1/dm/list.so?oid={cid}";
|
var url = $"https://api.bilibili.com/x/v1/dm/list.so?oid={cid}";
|
||||||
using var response = await this.httpClient.GetAsync(url, cancellationToken).ConfigureAwait(false);
|
using var response = await this.httpClient.GetAsync(url, cancellationToken).ConfigureAwait(false);
|
||||||
@@ -322,6 +322,8 @@ public class BilibiliApi : AbstractApi
|
|||||||
danmaku.ChatServer = "api.bilibili.com";
|
danmaku.ChatServer = "api.bilibili.com";
|
||||||
danmaku.Items = new List<ScraperDanmakuText>();
|
danmaku.Items = new List<ScraperDanmakuText>();
|
||||||
|
|
||||||
|
await this._limitDownloadRequestConstraint;
|
||||||
|
|
||||||
await this.EnsureSessionCookie(cancellationToken).ConfigureAwait(false);
|
await this.EnsureSessionCookie(cancellationToken).ConfigureAwait(false);
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|||||||
Reference in New Issue
Block a user