让PowerShell及CMD走代理
- 直接说方法
-
- 方法一:设置环境变量(只针对当前shell)
- 方法二:命令行参数
- [方法三:netsh winhttp](#方法三:netsh winhttp)
- 原理
直接说方法
方法一:设置环境变量(只针对当前shell)
针对cmd(注意都是http)
set HTTP_PROXY=http://127.0.0.1:7890
set HTTPS_PROXY=http://127.0.0.1:7890
针对powershell
$env:HTTP_PROXY=http://127.0.0.1:7890
$env:HTTPS_PROXY=http://127.0.0.1:7890
方法二:命令行参数
powershell
Invoke-WebRequest -Uri "https://www.google.com" -Proxy "http://127.0.0.1:7890"
方法三:netsh winhttp
netsh winhttp set proxy 127.0.0.1:7890 //设置
netsh winhttp show proxy //查看状态
netsh winhttp reset proxy //取消设置
原理
浏览器及其他用户态应用程序走的是WinINET配置,CMD和PowerShell走的是WinHTTP配置,所以配置了系统代理,不一定会让CMD和PowerShell走代理