using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using HttpClientStudy.Core.Utilities; using Microsoft.Extensions.DependencyInjection; namespace HttpClientStudy.UnitTest { /// /// 临时测试 /// public class TempTest { private readonly ITestOutputHelper _output; public TempTest(ITestOutputHelper output) { _output = output; } [Fact] public async Task TestAsync() { var services = new ServiceCollection(); services.AddKeyedSingleton("HttpClientA",new HttpClient() { //BaseAddress = new Uri("https://localhost:5001/"), Timeout = TimeSpan.FromSeconds(10), }); var client = services.BuildServiceProvider().GetRequiredKeyedService("HttpClientA"); var resp = await client.GetAsync("https://www.baidu.com"); resp.EnsureSuccessStatusCode(); var content = await resp.Content.ReadAsStringAsync(); Console.WriteLine(content.Length); } [Fact] public async Task Temp_TestAsync() { var services = new ServiceCollection(); //services.AddHttpClient(); services .AddHttpClient(config => { config.BaseAddress = new Uri("https://www.baidu.com"); }) .ConfigureHttpClient(config => { config.BaseAddress = new Uri("https://www.qq.com"); }); var provider = services.BuildServiceProvider(); var factory = provider.GetRequiredService(); var client = factory.CreateClient(); var res = await client.GetAsync("https://www.qq.com"); res.EnsureSuccessStatusCode(); var content = await res.Content.ReadAsStringAsync(); var sum = content.Length; _output.WriteLine(sum.ToString()); } } }