У меня возникла проблема с получением куки из ответа с использованием прокси в HttpClient (NetStandard 2.0).Мой код (например, amazon.com):
var proxy = new WebProxy(context.ProxySettings.IP, context.ProxySettings.Port)
{
BypassProxyOnLocal = false,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(
userName: context.ProxySettings.Login,
password: context.ProxySettings.Password)
};
var cookieContainer = new CookieContainer();
var handler = new HttpClientHandler()
{
CookieContainer = cookieContainer,
UseCookies = true,
PreAuthenticate = true,
UseDefaultCredentials = false,
AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip,
Proxy = proxy,
UseProxy = true,
};
var client = new HttpClient(handler);
Uri baseAddress = new Uri(@"http://www.amazon.com/");
client.BaseAddress = baseAddress;
client.DefaultRequestHeaders.ConnectionClose = false;
client.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "text/html,application/xhtml+xml,application/xml");
client.DefaultRequestHeaders.TryAddWithoutValidation("Accept-Encoding", "gzip, deflate");
client.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0");
client.DefaultRequestHeaders.TryAddWithoutValidation("Accept-Charset", "ISO-8859-1");
var cookieRequestUri =String.Empty;
var cookieResponse = await client.GetAsync(cookieRequestUri);
if (!cookieResponse.IsSuccessStatusCode)
{
throw new some exception ....
}
CookieCollection cookies = cookieContainer.GetCookies(baseAddress);
Если я не использую прокси, все работает нормально.Но с прокси нет куки в cookieContainer.Может ли кто-нибудь помочь мне с моей проблемой?