У меня есть приложение .NET 3.5, которое выполняет стандартный http WebRequest:
var webRequest = WebRequest.Create(new Uri("http://myserver.com/target.xml));
var webResponse = webRequest.GetResponse();
Это приложение часто развертывается в сетях, использующих прокси-серверы, но у меня никогда не возникало проблем с этим, пока оно не было недавно развернуто на клиенте, использующем прокси / брандмауэр Blue Coat.
Их прокси настроен как прозрачный прокси.
Проблема в том, что в 90% случаев мои WebRequests терпят неудачу с ошибкой 401 Unauthorized, но иногда они работают нормально (поведение одинаково на 10+ клиентских машинах).
Кроме того, на всех из них он работает полностью нормально, если сначала открывается Internet Explorer, и они вручную просматривают один из моих URL-адресов (я проверил их конфигурацию IE, и конфигурация прокси-сервера не введена). Следовательно, все веб-запросы из моего приложения работают без сбоев.
Их сетевая команда не имеет никаких предложений, но признает, что в прошлом наблюдала «фанковое» поведение.
Кто-нибудь знает, что здесь происходит и что можно сделать?
Если у вас не определен конкретный прокси, попробуйте это по умолчанию:
webRequest.Proxy = WebRequest.DefaultWebProxy;
webRequest.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;