У меня есть такой код:
static private async Task GetContent()
{
var proxy = new WebProxy
{
Address = new Uri($"http://178.33.236.108:8081"),
UseDefaultCredentials = false,
Credentials = new NetworkCredential(
userName: "xxx",
password: "xxx")
};
var httpClientHandler = new HttpClientHandler
{
Proxy = proxy,
};
var client = new HttpClient(handler: httpClientHandler, disposeHandler: true);
HttpResponseMessage response = await client.GetAsync("https://somesite.com");
client.DefaultRequestHeaders.Clear();
HttpResponseMessage response2 = await client.GetAsync("https://somesite.com");
}
При первом запросе все в порядке, на втором выдает ошибку 403 (та же веб-страница).Если я помещаю Thread.Sleep (10000) между запросами, он по-прежнему выдает ошибку, поэтому его не нужно вызывать.Если я перезагружаю приложение и запускаю его снова, оно ведет себя точно так же.Что более странно, даже если я использую другой объект HttpClient, он все равно выдаст ошибку при втором вызове ... Это своего рода защита Akamai ... но как это работает?Если я использую тот же прокси-сервер в веб-браузере, он отлично работает ... если я удаляю прокси из кода, он тоже отлично работает ...
У кого-нибудь есть идеи, что можно буферизовать в приложении?как его сбросить?
Спасибо.