diff --git a/FastGithub.Scanner/DomainAddressProviders/GithubMetaProvider.cs b/FastGithub.Scanner/DomainAddressProviders/GithubMetaProvider.cs index dabdbc8..856b4dd 100644 --- a/FastGithub.Scanner/DomainAddressProviders/GithubMetaProvider.cs +++ b/FastGithub.Scanner/DomainAddressProviders/GithubMetaProvider.cs @@ -20,6 +20,7 @@ namespace FastGithub.Scanner.DomainAddressProviders { private readonly IOptionsMonitor options; private readonly ILogger logger; + private const string META_URI = "https://api.github.com/meta"; /// /// Github公开的域名与ip关系提供者 @@ -49,7 +50,7 @@ namespace FastGithub.Scanner.DomainAddressProviders try { using var httpClient = new HttpClient(); - var meta = await httpClient.GetFromJsonAsync(setting.MetaUri); + var meta = await this.GetMetaAsync(httpClient, setting.MetaUri); if (meta != null) { return meta.ToDomainAddresses(); @@ -63,6 +64,25 @@ namespace FastGithub.Scanner.DomainAddressProviders return Enumerable.Empty(); } + + /// + /// 尝试获取meta + /// + /// + /// + /// + private async Task GetMetaAsync(HttpClient httpClient, Uri metaUri) + { + try + { + return await httpClient.GetFromJsonAsync(META_URI); + } + catch (Exception) + { + return await httpClient.GetFromJsonAsync(metaUri); + } + } + /// /// github的meta结构 /// diff --git a/FastGithub/appsettings.json b/FastGithub/appsettings.json index 16f5aa5..dc1122a 100644 --- a/FastGithub/appsettings.json +++ b/FastGithub/appsettings.json @@ -12,8 +12,7 @@ }, "DominAddressProviders": { "GithubMetaProvider": { - "Enable": true, - // "MetaUri": "https://api.github.com/meta", // metaԴuri + "Enable": true, "MetaUri": "https://gitee.com/jiulang/fast-github/raw/master/FastGithub/meta.json" }, "IPAddressComProvider": {