AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.5.1" />

 IRequester

public interface IRequester
Defines the required methods any (http) requester object must have.
Dictionary<string, string> Headers { get; }

Gets or sets the default headers to send with every request.

TimeSpan Timeout { get; set; }

Gets or sets the number of milliseconds to wait before the request times out.

Performs a blocking (http) request with the given options.

Performs an asynchronous (http) request with the given options.

Task<IResponse> RequestAsync(IRequest request, CancellationToken cancellationToken)

Performs an asynchronous (http) request that can be cancelled.