Настройки прокси AngleSharp.Io с HttpClientRequester
Подключите один HttpClientRequester с поддержкой прокси, прежде чем включать загрузчик по умолчанию.
Загрузчик AngleSharp передаёт загрузки зарегистрированным запросчикам. С AngleSharp.Io явно подключите HttpClientRequester с поддержкой прокси:
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);Используйте этот контекст для предполагаемой навигации OpenAsync. Конечная точка из списка HTTP-прокси может предоставить адрес WebProxy для публичных веб-загрузок. Поддерживайте базовый HTTP-клиент живым на время этой работы и затем освободите принадлежащие ресурсы.
WithRequesters — альтернатива, регистрирующая запросчики, доступные из AngleSharp.Io. Не сочетайте её с несколькими вручную настроенными HTTP-запросчиками, если только их выбор не намеренный. Прокси, настроенный на одном запросчике, не настраивает другую реализацию, выбранную для запроса.
Пользовательские заголовки по умолчанию на http относятся к запросу к адресату. Значения заголовков, описывающих тело запроса, включая Content-Type, должны соответствовать этому запросу, а не навязываться глобально каждой загрузке.
Зарегистрируйте запросчик до WithDefaultLoader, чтобы загрузчик мог использовать предполагаемую службу HTTP вместо добавления своей по умолчанию, когда никакой нет.