O carregador do AngleSharp delega os downloads aos solicitantes registados. Com o AngleSharp.Io, anexe explicitamente um HttpClientRequester ciente do proxy:

using AngleSharp;
using AngleSharp.Io.Network;

var handler = new System.Net.Http.HttpClientHandler
{
    UseProxy = true,
    Proxy = new System.Net.WebProxy(
        "http://proxy.example.net:8080")
};
var http = new System.Net.Http.HttpClient(handler);
http.DefaultRequestHeaders.UserAgent.ParseAdd("ExampleReader/1.0");

var configuration = Configuration.Default
    .With(new HttpClientRequester(http))
    .WithDefaultLoader();

var context = BrowsingContext.New(configuration);

Use este contexto para a navegação OpenAsync pretendida. Um endpoint da lista de proxies HTTP pode fornecer o endereço WebProxy para downloads web públicos. Mantenha o cliente HTTP subjacente vivo para esse trabalho e liberte os recursos próprios depois.

WithRequesters é uma alternativa que registra os solicitantes disponíveis no AngleSharp.Io. Não a combine com vários solicitantes HTTP configurados manualmente, a menos que a seleção deles seja intencional. Um proxy configurado num solicitante não configura outra implementação escolhida para um pedido.

Os cabeçalhos predefinidos personalizados em http pertencem ao pedido de destino. Os valores de cabeçalho que descrevem um corpo de pedido, incluindo Content-Type, devem corresponder a esse pedido em vez de serem impostos globalmente em cada download.

Registe o solicitante antes de WithDefaultLoader para que o carregador possa usar o serviço HTTP pretendido em vez de adicionar o seu predefinido quando não existe nenhum.

Artigos relacionados