Назад | Перейти на главную страницу

.NET WebRequests не работает в сети с прокси-сервером Blue Coat

У меня есть приложение .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;