Обнаружение без файла автоматической настройки

Если файл автоматической настройки прокси-сервера не был развернут в локальной сети, WinHttpGetProxyForUrl не сможет найти прокси-сервер. Если WinHttpGetProxyForUrl завершается сбоем, существует несколько возможных стратегий отката для получения жизнеспособной конфигурации прокси-сервера в зависимости от среды выполнения. К ним относятся запрос параметра прокси-сервера через пользовательский интерфейс, требование сохранить конфигурацию прокси-сервера в реестре с помощью служебной программы WinHTTP "ProxyCfg.exe" или с помощью WinHttpGetIEProxyConfigForCurrentUser, чтобы проверка, указан ли прокси-сервер в параметрах интернет-Обозреватель.

Возможно, файл автоматической конфигурации прокси-сервера отсутствует, так как клиент имеет прямое подключение к Интернету, например через интернет-провайдера, и ему не нужен прокси-сервер.

С другой стороны, может потребоваться прокси-сервер, но локальная сеть может не поддерживать WPAD. В этом случае конфигурацию прокси-сервера необходимо получить у пользователя или найти где-нибудь на клиентском компьютере.

Приложение на основе WinHTTP, работающее в серверной среде среднего уровня, например в приложении COM+ или ASP, должно полагаться на то, что администратор сервера устанавливает конфигурацию прокси-сервера по умолчанию в реестре с помощью служебной программы "ProxyCfg.exe". Затем эти сведения о конфигурации по умолчанию можно получить с помощью функции WinHttpGetDefaultProxyConfiguration или просто указав флаг WINHTTP_ACCESS_TYPE_PRECONFIG в вызове WinHttpOpen .

С другой стороны, приложение WinHTTP, работающее на клиентском настольном компьютере, может попытаться проверить параметры прокси-сервера интернет-Обозреватель. WinHttpGetIEProxyConfigForCurrentUser заполняет предоставляемую вызывающей стороной структуру WINHTTP_CURRENT_USER_IE_PROXY_CONFIG с параметрами прокси-сервера Обозреватель текущего пользователя для текущего активного подключения (коммутируемого подключения, VPN или локальной сети). Эта конфигурация может указывать на то, что используется автоматическое обнаружение, может указывать URL-адрес файла автоматической конфигурации прокси-сервера, фактический прокси-сервер для использования или может указывать комбинацию из трех. Если эти сведения содержат URL-адрес PAC или прокси-сервер, приложение WinHTTP может попытаться использовать их.

Пример, в котором используются функции WinHttpGetProxyForUrl и WinHttpGetIEProxyConfigForCurrentUser , можно найти в примерах WinHTTP пакета средств разработки платформенного программного обеспечения (SDK).