Windows 10 настройка прокси через командную строку

I want to set a proxy throught the command line, first thing I found out is that you have to run command line with administrator rights — then the basic proxy set would be:

netsh winhttp set proxy SERVER:PORT

This works nice, but I also want to add a login. As you can see I’ve tried using netsh->winhttp, however manual does not say anything about the login part so I just tried:

netsh winhttp set proxy user:password@SERVER:PORT

This unfortunately does not work. Is it even possible to achieve something like this in netsh->winhttp?

If so, how? If not => what windows commands should I follow?

̶O̶r̶ ̶i̶s̶ ̶t̶h̶i̶s̶ ̶m̶o̶r̶e̶ ̶e̶a̶s̶i̶l̶y̶ ̶a̶c̶h̶i̶e̶v̶e̶a̶b̶l̶e̶ ̶t̶h̶r̶o̶u̶g̶h̶ ̶s̶o̶m̶e̶ ̶W̶i̶n̶d̶o̶w̶s̶A̶P̶I̶ ̶(̶e̶.̶g̶.̶ ̶u̶s̶i̶n̶g̶ ̶C̶/̶C̶+̶+̶)̶?̶

Thanks for help, please feel free to ask any questions if something is unclear.

USING: Windows 7, cmd.exe, netsh->winhttp

EDIT: This looks like the C++ way: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383144(v=vs.85).aspx , but a better way for C++ might be to go this way: http://msdn.microsoft.com/en-us/library/windows/desktop/aa385384(v=vs.85).aspx#general_option, — so the remaining question is how to achieve this in command line generally (or even better command-line->netsh->winhttp)?

asked Nov 18, 2014 at 11:11

jave.web's user avatar

jave.webjave.web

14k12 gold badges92 silver badges125 bronze badges

5

If you are using Microsoft windows environment then you can set a variable named HTTP_PROXY, FTP_PROXY, or HTTPS_PROXY depending on the requirement.

I have used following settings for allowing my commands at windows command prompt to use the browser proxy to access internet.

set HTTP_PROXY=http://proxy_userid:proxy_password@proxy_ip:proxy_port

The parameters on right must be replaced with actual values.

Once the variable HTTP_PROXY is set, all our subsequent commands executed at windows command prompt will be able to access internet through the proxy along with the authentication provided.

Additionally if you want to use ftp and https as well to use the same proxy then you may like to the following environment variables as well.

set FTP_PROXY=%HTTP_PROXY%

set HTTPS_PROXY=%HTTP_PROXY%

Michael Lihs's user avatar

Michael Lihs

7,50017 gold badges52 silver badges85 bronze badges

answered Jan 10, 2017 at 13:29

Chinmay's user avatar

ChinmayChinmay

8606 silver badges9 bronze badges

7

cmd

Tunnel all your internet traffic through a socks proxy:

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

View the current proxy settings:

netsh winhttp show proxy

Clear all proxy settings:

netsh winhttp reset proxy

ejderuby's user avatar

ejderuby

7105 silver badges21 bronze badges

answered Aug 22, 2019 at 16:28

Adasiek's user avatar

AdasiekAdasiek

2693 silver badges2 bronze badges

IE can set username and password proxies, so maybe setting it there and import does work

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

answered Nov 26, 2014 at 23:44

overflowed's user avatar

overflowedoverflowed

1,77310 silver badges13 bronze badges

4

The best way around this is (and many other situations) in my experience, is to use cntlm which is a local no-authentication proxy which points to a remote authentication proxy. You can then just set WinHTTP to point to your local CNTLM (usually localhost:3128), and you can set CNTLM itself to point to the remote authentication proxy. CNTLM has a «magic NTLM dialect detection» option which generates password hashes to be put into the CNTLM configuration files.

answered Apr 28, 2015 at 17:09

Adam Burley's user avatar

Adam BurleyAdam Burley

5,5954 gold badges51 silver badges73 bronze badges

2

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

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)?

4b9b3361

Ответ 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

Для просмотра текущего состояния прокси воспользуемся командой netsh winhttp show proxy.ttfpxskjsk7

Здесь мы видим, что система настроена на прямой доступ, без использования прокси. Для установки прокси служит команда netsh winhttp set proxy.

zg8nbtrj4f4

Следует заметить, что интерпретатор командной строки в этом случае нужно запускать от имени администратора, иначе получим ошибку.

Для сброса настроек служит команда netsh winhttp reset proxy.

y43gzgavvcr

Отсюда — savvateev.org

Запись опубликована в рубрике IT с метками proxy, windows. Добавьте в закладки постоянную ссылку.

Once in a while I need to download and install Python packages at work and having switched to Linux (Ubuntu) at home, I find it quite annoying now to have to go to a website, download the package I need, then manually install.

Fortunately, the pip installer works for Windows as well, allowing the installation of Python packages automatically with a simple command (pip install package_name). But at work, we’re behind a proxy server so I have to set the HTTP_PROXY environment variable first before pip can connect to download the packages.

You can set this environment variable permanently so you don’t have to keep re-typing it every time you open a cmd window, but since our proxy requires authentication I prefer not to hardcode it (plus I’ll have to remember to update when my password changes).

Simply type this in the cmd window to set it (note that the setting will get deleted once you close the window):

set HTTP_PROXY=http://user:password@proxy.domain.com:port

That depends on the applications you are using.
For some it is enough to set the following environment variable :

set HTTP_PROXY=http://proxy_userid:proxy_password@proxy_ip:proxy_port

And if necessary :

set FTP_PROXY=%HTTP_PROXY%
set HTTPS_PROXY=%HTTP_PROXY%

For others, especially browsers, the following may do the job :

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

You may add to the reg commands the parameter /f to overwrite existing
entries without asking.

To undo, disable the proxy by setting ProxyEnable to 0.

And for still others this is a setting to be set in the program itself.

  • Windows 10 начало установки долго висит
  • Windows 10 на ноутбуке на амд
  • Windows 10 настройка прозрачности панели задач
  • Windows 10 настройка быстродействия системы
  • Windows 10 на macbook не работает звук на