Untitled

Run Settings
LanguageC#
Language Version
Run Command
var handler = new SocketsHttpHandler { PlaintextStreamFilter = (context, _) => new ValueTask<Stream>(new StreamWrapper(context.PlaintextStream)), }; var client = new HttpClient(handler); var guruguru1 = await client.GetAsync("http://www.bilibili.com"); guruguru1.EnsureSuccessStatusCode(); Console.WriteLine($"{DateTime.Now} guruguru1 OK!"); var guruguru2 = await client.GetAsync("http://www.bilibili.com"); guruguru2.EnsureSuccessStatusCode(); Console.WriteLine($"{DateTime.Now} guruguru2 OK!"); internal class StreamWrapper(Stream bs) : Stream { public override void Flush() => bs.Flush(); public override int Read(byte[] buffer, int offset, int count) { Console.WriteLine($"[{DateTime.Now}] Read!"); return bs.Read(buffer, offset, count); } public override long Seek(long offset, SeekOrigin origin) => bs.Seek(offset, origin); public override void SetLength(long value) => bs.SetLength(value); public override void Write(byte[] buffer, int offset, int count) { Console.WriteLine($"[{DateTime.Now}] Write!"); bs.Write(buffer, offset, count); } public override bool CanRead => bs.CanRead; public override bool CanSeek => bs.CanSeek; public override bool CanWrite => bs.CanWrite; public override long Length => bs.Length; public override long Position { get => bs.Position; set => bs.Position = value; } }
Editor Settings
Theme
Key bindings
Full width
Lines