共用方式為


沒有自動組態檔的探索

如果 Proxy 自動組態檔尚未部署在局域網路上,WinHttpGetProxyForUrl 找不到 Proxy 伺服器。 如果 WinHttpGetProxyForUrl 失敗,視其運行時間環境而定,有數種可能取得可行 Proxy 設定的後援策略。 其中包括透過使用者介面提示 Proxy 設定、要求有人使用 WinHTTP “ProxyCfg.exe” 公用程式將 Proxy 設定儲存在登錄中,或使用 WinHttpGetIEProxyConfigForCurrentUser 來檢查 Proxy 伺服器是否列在 Internet Explorer 的設定中。

因為用戶端有直接因特網連線,例如透過 ISP,而且不需要 Proxy 伺服器,所以不可能有 Proxy 自動組態檔。

另一方面,可能需要 Proxy 伺服器,但局域網路可能不支援 WPAD。 在此情況下,必須從使用者取得 Proxy 組態,或在用戶端電腦上找到某處。

在仲介層伺服器環境中執行的 WinHTTP 型應用程式,例如 COM+ 或 ASP 應用程式,應該依賴伺服器管理員使用 「ProxyCfg.exe」 公用程式在登錄中設定預設 Proxy 組態。 接著,您可以使用 WinHttpGetDefaultProxyConfiguration 函式來擷取此預設組態資訊,或只要在 winHttpOpen呼叫中指定 WINHTTP_ACCESS_TYPE_PRECONFIG旗標即可。

另一方面,在用戶端桌面計算機上執行的 WinHTTP 應用程式可以嘗試檢查 Internet Explorer 的 Proxy 設定。 WinHttpGetIEProxyConfigForCurrentUser 以目前使用者目前使用中連線的 Internet Explorer Proxy 設定填入呼叫端提供的 WINHTTP_CURRENT_USER_IE_PROXY_CONFIG 結構(撥號、VPN 或 LAN)。 此組態可能表示已使用自動偵測,或者可以指定 Proxy 自動組態檔的 URL,也可以指定要使用的實際 Proxy 伺服器,也可以指定三者的組合。 如果這項資訊包含 PAC URL 或 Proxy 伺服器,WinHTTP 應用程式就可以嘗試使用這些 URL。

您可以在平台軟體開發工具包 (SDK) WinHTTP 範例中找到使用 WinHttpGetProxyForUrlWinHttpGetIEProxyConfigForCurrentUser 函式的範例。