private async Task InitializeHttpClient() { var userAgent = UserAgentSelector.GetRandomAgent(); var httpHandler = new HttpClientHandler(); var httpClient = new HttpClient(httpHandler) { BaseAddress = new Uri(_baseUrl), Timeout = TimeSpan.FromSeconds(_requestTimeout) }; if (_proxyProvider != null) { var proxyUrl = await _proxyProvider.GetProxyAsync(CheckProxy); if (!String.IsNullOrEmpty(proxyUrl)) { httpHandler.Proxy = new WebProxy(new Uri(proxyUrl)); _logger.Info("UzService uses proxy " + proxyUrl); } else { _logger.Warning("Cannot obtain proxy, requesting unproxied"); } } _httpClient = httpClient; _httpHandler = httpHandler; _userAgent = userAgent; }