Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Важный
ProxyCfg.exe
не рекомендуется использовать с Windows Vista и Windows Server 2008. Он заменен Netsh.exe
(см. Netsh.exe команды).
В этом разделе описывается использование microsoft Windows HTTP Services (WinHTTP) средства настройки прокси-сервера ProxyCfg.exe
.
Существует два способа доступа к серверам HTTP и secure Hypertext Transfer Protocol (HTTPS) через прокси-сервер с помощью служб Microsoft Windows HTTP (WinHTTP). Сначала можно указать параметры прокси-сервера из приложения WinHTTP. Во-вторых, можно указать параметры прокси-сервера по умолчанию извне приложения с помощью служебной программы настройки прокси-сервера, расположенной в каталоге %windir%\system32.
Вы можете программно задать данные прокси-сервера из приложения или скрипта. Если вы пишете приложение с помощью API WinHTTP, используйте один из следующих двух методов для изменения параметров прокси-сервера.
Используйте функцию WinHttpOpen. Укажите тип доступа во втором параметре, имя прокси-сервера в третьем параметре и список обхода в четвертом параметре. В следующем примере показано, как можно использовать функциюWinHttpOpenдля задания данных прокси-сервера.
hSession = WinHttpOpen( L"WinHTTP Example/1.0", WINHTTP_ACCESS_TYPE_NAMED_PROXY, L"proxy_name", L"<local>", 0);
Используйте функцию WinHttpSetOption. Флаг WINHTTP_OPTION_PROXY позволяет указать параметры прокси-сервера со структурой WINHTTP_PROXY_INFO. В следующем примере кода показано, как можно использовать функциюWinHttpSetOptionдля задания прокси-данных.
WINHTTP_PROXY_INFO proxyInfo; proxyInfo.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY; proxyInfo.lpszProxy = L"proxy_name"; proxyInfo.lpszProxyBypass = L"<local>"; // Set the proxy information for this session. WinHttpSetOption( hSession, WINHTTP_OPTION_PROXY, &proxyInfo, sizeof(proxyInfo));
Если вы пишете скрипт или приложение с помощью объекта WinHttpRequest, используйте следующий метод для изменения параметров прокси-сервера.
Используйте метод SetProxy. Укажите тип доступа в первом параметре, имя прокси-сервера во втором параметре и список обхода в третьем параметре. В следующем примере показано, как метод SetProxy можно использовать в скрипте для задания прокси-данных.
WinHttpReq.SetProxy( HTTPREQUEST_PROXYSETTING_PROXY, "proxy_server:80", "*.microsoft.com");
Чтобы указать параметры по умолчанию и устранить необходимость использования методаsetProxyили функции WinHttpSetOption, используйте программу конфигурации прокси-сервера. С помощью этой служебной программы можно указать, что приложение обращается к сети напрямую, через прокси-сервер или через сочетание прямого и прокси-доступа, указав список обходов. При использовании API WinHTTP средство настройки прокси-сервера определяет только параметры при передаче флага WINHTTP_ACCESS_TYPE_DEFAULT в API WinHttpOpen. Объект WinHttpRequest использует параметры средства настройки прокси по умолчанию.
Параметры прокси-сервера для WinHTTP не являются параметрами прокси-сервера для Microsoft Internet Explorer. Параметры прокси-сервера для WinHTTP нельзя настроить на панели управления Microsoft Windows. Использование служебной программы конфигурации прокси-сервера WinHTTP не изменяет параметры, используемые для Internet Explorer.
Заметка
Если вы пытаетесь открыть и отправить HTTP-запрос с помощью WinHTTP, а параметры прокси-сервера неверны, возникает ошибка.
Параметры командной строки
В следующей таблице перечислены параметры командной строки, доступные для использования с инструментомProxyCfg.exe'.
Параметр | Описание |
---|---|
никакой | Если параметры не указаны, отображаются текущие параметры прокси-сервера WinHTTP. |
? | Отображаются сведения о справке. |
d | Указывает, что приложения WinHTTP обращаются к сети напрямую без прокси-сервера. |
p | Указывает прокси-сервер. Кроме того, можно указать необязательный список серверов, к которым обращается без прокси-сервера. |
u | Указывает, что приложения WinHTTP используют параметры прокси-сервера текущего пользователя для Internet Explorer. Этот параметр не работает, если Internet Explorer автоматически обнаруживает параметры прокси-сервера или используется URL-адрес автоматической настройки для задания сведений о прокси-сервере. |
я | Указывает, что приложения WinHTTP используют параметры прокси-сервера текущего пользователя для Internet Explorer. Это работает только в том случае, если ProxyCfg.exe не использовалось ранее. Если установлен ProxyCfg.exe, укажите, что параметр командной строки u использует параметры вручную. Этот параметр не работает, если Internet Explorer автоматически обнаруживает параметры прокси-сервера или использует URL-адрес автоматической конфигурации для задания сведений о прокси-сервере. |
Вы можете указать прокси-серверы в строке с разделителями пространства. Списки прокси-сервера могут содержать номер порта, используемый для доступа к прокси-серверу. Чтобы вывести список прокси-сервера для определенного протокола, строка должна соответствовать формату, <протокол>=https://<proxy_name>. Допустимые протоколы: HTTP и HTTPS. Например, для перечисления прокси-сервера HTTP допустимая строка http=https://http_proxy_name:80, где http_proxy_name — имя прокси-сервера, а 80 — номер порта, который необходимо использовать для доступа к прокси-серверу. Если прокси-сервер использует номер порта по умолчанию для этого протокола, можно опустить номер порта. Если имя прокси-сервера указано самостоятельно, его можно использовать в качестве прокси-сервера по умолчанию для любых протоколов, у которых нет указанного прокси-сервера. Например, http=https://http_proxy other_proxy использует http_proxy для любых операций HTTP, а протокол HTTPS использует прокси-сервер с именем other_proxy.
В списке обхода прокси-сервера можно перечислить имена узлов или IP-адреса локально известных узлов. Этот список может содержать подстановочные знаки, такие как "*", которые вызывают обход прокси-сервера для адресов, которые соответствуют указанному шаблону, например "*.microsoft.com" или "*.org". Подстановочные знаки должны быть левыми символами в списке. Например, "aaa.*" не поддерживается. Чтобы вывести список нескольких адресов и имен узлов, разделите их пустыми пробелами или точкой с запятой в строке обхода прокси-сервера. Если указать <локальный> макрос, функция пропускает любое имя узла, которое не содержит период.
Предупреждение
После выполнения Proxycfg.exe невозможно восстановить предыдущие параметры прокси-сервера. Однако вы можете полностью удалить параметры прокси-сервера.
Употребление
Чтобы использовать средство настройки прокси-сервера, откройте окно командной строки и запустите программу настройки прокси-сервера с соответствующими параметрами командной строки. В следующем разделе приведены примеры синтаксиса.
Пример синтаксиса
Пример 1. Использование прокси-сервера только для внешних ресурсов
Ниже приведено наиболее частое использование для Proxycfg.exe. Эта команда указывает, что доступ к серверам HTTP и HTTPS выполняется через прокси-сервер с именем "proxy_server", за исключением имен узлов, которые не содержат период.
proxycfg -p proxy_server "<локальных>"
Пример 2. Использование прокси-сервера для всех ресурсов
В следующем примере указывается, что доступ к серверам HTTP и HTTPS выполняется через прокси-сервер с именем proxy_server. Список обходов не указан.
proxycfg -p proxy_server
Пример 3. Использование другого прокси-сервера для безопасных ресурсов
В следующем примере указывается, что доступ к HTTP-серверам выполняется через прокси-серверы http_proxy и HTTPS-серверы через https_proxy. Локальные сайты интрасети и любой сайт в домене *.microsoft.com обходят прокси-сервер.
proxycfg -p "http=http_proxy https=https_proxy" "<локальных>;*.microsoft.com"
Удаление ProxyCfg.exe
После использования средства настройки прокси-сервера вы не сможете восстановить исходные параметры прокси-сервера. Однако при необходимости можно удалить параметры реестра, создаваемые программой. Чтобы удалить записи реестра, которые ProxyCfg.exe создаются, необходимо удалить значение WinHttpSettings из следующего раздела реестра.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Параметры Интернета\подключения\WinHttpSettings
Удаление WinHttpSettings удаляет все конфигурации прокси-сервера.
ProxyCfg.exe и проверка подлинности
Программа настройки прокси-сервера задает политику проверки подлинности по умолчанию. Так как не следует выполнять проверку подлинности NTLM с ненадежными узлами, по умолчанию проверка подлинности NTLM выполняется автоматически с узлами в списке обхода прокси-сервера. Если прокси-сервер отсутствует, вы по-прежнему можете использовать ProxyCfg.exe, чтобы указать список обходов узлов, которым вы доверяете выполнять проверку подлинности NTLM. Имя прокси-сервера требуется при использовании ProxyCfg.exe для этой цели, но можно использовать любую допустимую строку вместо реального прокси-имени.
Дополнительные сведения о политике автоматического входа см. в разделе Автоматическая политика входа в систему.