diff --git a/AssetManager.Infrastructure/Services/MarketDataService.cs b/AssetManager.Infrastructure/Services/MarketDataService.cs index 4b1d40e..88c76f0 100644 --- a/AssetManager.Infrastructure/Services/MarketDataService.cs +++ b/AssetManager.Infrastructure/Services/MarketDataService.cs @@ -1,6 +1,7 @@ using System.Net.Http.Json; using System.Security.Cryptography; using System.Text; +using System.Text.RegularExpressions; using AssetManager.Data; using AssetManager.Models.DTOs; using Microsoft.Extensions.Logging; @@ -49,9 +50,13 @@ public class MarketDataService : IMarketDataService { _logger.LogInformation($"Requesting stock price for symbol: {symbol} (腾讯财经接口)"); + // 注册GBK编码支持 + Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); + // 腾讯财经美股接口:前缀us,大写代码 var url = $"http://qt.gtimg.cn/q=us{symbol.ToUpper()}"; - var response = await _httpClient.GetStringAsync(url); + var responseBytes = await _httpClient.GetByteArrayAsync(url); + var response = Encoding.GetEncoding("GBK").GetString(responseBytes); if (string.IsNullOrEmpty(response) || !response.Contains("~")) {