Настройки WebClient и Proxy - или весело с ускорителями загрузки - PullRequest
4 голосов
/ 19 января 2009

У меня есть относительно простая функция, которая использует класс WebClient для выполнения HTTPS POST для веб-сервера. Этот код работает надежно, но встречает проблемы при использовании функции ускорения загрузки EarthLink или AT & T.

Ускоритель загрузки работает путем смены прокси-сервера коммутируемого соединения. настройки для указания localhost: 8080 только для протокола HTTP. В этом Конфигурация, предположительно протокол HTTPS, не должна быть затронута. По факту, при использовании Internet Explorer для перехода к https://www.wellsfargo.com, там нет ошибки.

Однако при использовании .NET 2.0 (или 3.5) класс WebClient не выполняется простой HTTPS GET из https://www.wellsfargo.com в этой конфигурации.

В качестве простого теста я делаю следующее:

Укажите расширенную конфигурацию прокси-сервера локальной сети, где:

HTTP-адрес: взломан: 8080

Безопасный адрес: securewhacked: 8081

In, C # Я вызываю следующие функции:

IWebProxy defaultWebProxy = WebRequest.DefaultWebProxy;
Uri proxyUri = defaultWebProxy.GetProxy("https://www.wellsfargo.com");

Я ожидаю, что proxyUri должен быть «securewhacked: 8081».

Вместо этого proxyUri «сбит: 8080».

Это похоже на ошибку в "автоматическом" использовании прокси .NET. И результат в том, что наше программное обеспечение дает сбой при включении ускорителя загрузки.

Кто-нибудь знает, что здесь происходит?

Я знаю, что клиентам довольно легко отключить ускоритель, но я бы предпочел наше программное обеспечение работать из коробки без необходимости пользователь отключить ускоритель.

Любые предложения приветствуются.

1 Ответ

0 голосов
/ 19 января 2009

Установлен ли акселератор на настройку прокси-сервера пользователя (IE), настройку прокси-сервера (WinHTTP) или и то, и другое? Если IE, вы можете попробовать использовать proxycfg -u для импорта настроек IE в WinHTTP (так как я считаю, что это то, что WebClient (и .NET в целом) использует).

...