diff --git a/app/Updates.cs b/app/Updates.cs index ec9bc87d..e1b5d2ef 100644 --- a/app/Updates.cs +++ b/app/Updates.cs @@ -61,16 +61,14 @@ namespace GHelper ClearTable(tableBios); ClearTable(tableDrivers); - var cpu = RyzenControl.IsAMD() ? "A" : "I"; - Task.Run(async () => { - DriversAsync($"https://rog.asus.com/support/webapi/product/GetPDBIOS?website=global&model={model}&cpu={cpu}", 1, tableBios); + DriversAsync($"https://rog.asus.com/support/webapi/product/GetPDBIOS?website=global&model={model}&cpu=CPUNAME", model, 1, tableBios); }); Task.Run(async () => { - DriversAsync($"https://rog.asus.com/support/webapi/product/GetPDDrivers?website=global&model={model}&cpu={cpu}&osid=52", 0, tableDrivers); + DriversAsync($"https://rog.asus.com/support/webapi/product/GetPDDrivers?website=global&model={model}&cpu=CPUNAME&osid=52", model, 0, tableDrivers); }); } @@ -226,7 +224,7 @@ namespace GHelper return input; } - public async void DriversAsync(string url, int type, TableLayoutPanel table) + public async void DriversAsync(string url, string model, int type, TableLayoutPanel table) { try @@ -236,11 +234,25 @@ namespace GHelper AutomaticDecompression = DecompressionMethods.All })) { + var urlNormal = url.Replace("CPUNAME", model); + Logger.WriteLine(urlNormal); + httpClient.DefaultRequestHeaders.AcceptEncoding.ParseAdd("gzip, deflate, br"); httpClient.DefaultRequestHeaders.Add("User-Agent", "C# App"); - var json = await httpClient.GetStringAsync(url); + var json = await httpClient.GetStringAsync(urlNormal); var data = JsonSerializer.Deserialize(json); + + // fallback for bugged API + if (data.GetProperty("Result").ToString() == "") + { + Random rnd = new Random(); + var urlFallback = url.Replace("CPUNAME", model + rnd.Next(100, 999)); + Logger.WriteLine(urlFallback); + json = await httpClient.GetStringAsync(urlFallback); + data = JsonSerializer.Deserialize(json); + } + var groups = data.GetProperty("Result").GetProperty("Obj");