我有一個相對簡單的功能,使用WebClient類執行 HTTPS POST到Web服務器。此代碼可靠運行,但在使用EarthLink或AT & T下載加速器功能時遇到 問題。WebClient與代理設置 - 或下載加速器的樂趣
下載加速器通過將撥號連接的代理 設置更改爲僅爲HTTP協議指定localhost:8080。在這個 配置中,推測HTTPS協議應該不受影響。實際上, 使用Internet Explorer導航到https://www.wellsfargo.com時, 沒有錯誤。
但是,在使用.NET 2.0(或3.5)時,WebClient類無法在此配置中從https://www.wellsfargo.com執行 一個簡單的HTTPS GET。
作爲一個簡單的測試,我執行以下操作:
指定一個先進的局域網代理配置,其中:
HTTP地址:重擊:8080
安全地址:securewhacked:8081
在C#中,我調用以下函數:
IWebProxy defaultWebProxy = WebRequest.DefaultWebProxy;
Uri proxyUri = defaultWebProxy.GetProxy("https://www.wellsfargo.com");
我認爲proxyUri應該是「securewhacked:8081」。
相反,proxyUri是「whacked:8080」。
這看起來像.NET「自動」代理使用情況中的一個錯誤。結果 是我們的軟件在打開下載加速器時失敗。
有人知道這裏發生了什麼嗎?
我知道客戶禁用加速器相對容易, 但我寧願我們的軟件開箱即用,而不要求 用戶禁用加速器。
任何建議表示讚賞。