Установить прокси через командную строку Windows, включая параметры входа в систему

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

netsh winhttp set proxy SERVER:PORT

Это работает хорошо, но я также хочу добавить логин. Как вы можете видеть, я попытался использовать netsh- > winhttp, однако руководство ничего не говорит о части входа, поэтому я просто попробовал:

netsh winhttp set proxy user:[email protected]:PORT

Это, к сожалению, не работает. Возможно ли достичь чего-то подобного в netsh- > winhttp?

Если да, то как? Если нет = > какие команды окон следует выполнять?
Или это легче ̶a̶c̶h̶i̶e̶v̶e̶a̶b̶l̶e̶ через некоторые ̶W̶i̶n̶d̶o̶w̶s̶A̶P̶I̶ ̶ (например, с помощью C/C + + ̶ ̶) ̶? ̶

Спасибо за помощь, пожалуйста, не стесняйтесь задавать любые вопросы, если что-то неясно.

ИСПОЛЬЗОВАНИЕ: Windows 7, cmd.exe, netsh- > winhttp

EDIT: Это похоже на способ С++: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383144(v=vs.85).aspx, но лучший способ для С++ - это пойти следующим образом: http://msdn.microsoft.com/en-us/library/windows/desktop/aa385384(v=vs.85).aspx#general_option, поэтому оставшийся вопрос заключается в том, как добиться этого в командной строке в целом (или даже лучше командной строки- > netsh- > winhttp)?

Ответ 1

Если вы используете среду Microsoft Windows, вы можете установить переменную с именем HTTP_PROXY, FTP_PROXY или HTTPS_PROXY в зависимости от требования.

Я использовал следующие настройки, позволяющие моим командам в командной строке Windows использовать прокси-сервер браузера для доступа в Интернет.

set HTTP_PROXY=http://proxy_userid:[email protected]_ip:proxy_port

Параметры справа должны быть заменены фактическими значениями.

Как только переменная HTTP_PROXY установлена, все наши последующие команды, выполняемые в командной строке Windows, смогут получить доступ к интернету через прокси вместе с предоставленной аутентификацией.

Кроме того, если вы хотите использовать ftp и https для использования того же прокси-сервера, вам также могут понравиться следующие переменные среды.

set FTP_PROXY=%HTTP_PROXY%

set HTTPS_PROXY=%HTTP_PROXY%

Ответ 2

IE может устанавливать прокси-серверы для имени пользователя и пароля, поэтому, возможно, его установить, а импорт работает

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d name:port
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyUser /t REG_SZ /d username
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyPass /t REG_SZ /d password
netsh winhttp import proxy source=ie

Ответ 3

На мой взгляд, лучший способ обойти это (и многие другие ситуации) - использовать cntlm, который является локальным прокси-сервером без аутентификации, который указывает на удаленный прокси-сервер аутентификации. Затем вы можете просто установить WinHTTP, чтобы он указывал на локальный CNTLM (обычно localhost: 3128), и вы можете настроить сам CNTLM, чтобы он указывал на удаленный прокси-сервер аутентификации. У CNTLM есть опция "обнаружения волшебного NTLM-диалекта", которая генерирует хэши паролей, которые нужно поместить в файлы конфигурации CNTLM.

Ответ 4

CMD

Туннелируйте весь свой интернет-трафик через прокси socks:

netsh winhttp set proxy proxy-server="socks=localhost:9090" bypass-list="localhost"

Просмотр текущих настроек прокси:

netsh winhttp show proxy

Очистить все настройки прокси-сервера:

netsh winhttp reset proxy