powershell7设置代理
设置powershell7终端的流量走代理
作为程序员,都会有一个工具来对外网资源的加速访问。但是在powershell终端中进行外网资源访问时,常常会发生一些问题。因为一般的代理工具都是Web代理,即使开了全局模式,终端也无法使用,需要单独进行一些配置。
powershell设置代理
首先,打开你的代理工具程序,查看你的代理工具端口
我用的是clash,点击右侧的常规就可以在中间面板看到端口号了。例如我的端口号是7890.
点击clash端口旁面的terminal终端图标可以一键进行配置,不过本文主要介绍使用命令的配置方法。
v2ray的端口号通过点击顶部的设置,或者直接查看底部状态栏查看
以管理员模式打开powershell7终端,输入命令
1
2
$Env:http_proxy="http://127.0.0.1:7890"
$Env:https_proxy="http://127.0.0.1:7890"
注意,7890是你代理软件里的端口号
接下来,输入以下命令来测试你的代理连接情况
1
curl -I https://www.google.com
为什么使用curl测试代理而不使用ping命令呢?因为ping使用的是ICMP协议,属于TCP/IP协议,而代理通常用的是HTTP或Socks协议
返回以下的提示,则代表powershell的代理配置成功
1
2
3
HTTP/1.1 200 Connection established
HTTP/1.1 200 OK
清除代理
powershell终端输入以下命令清除代理的配置
1
2
$Env:http_proxy=""
$Env:https_proxy=""
注意事项
以上的配置方法只针对本终端生效,即新建一个终端后代理配置效果不存在,要想代理配置对所有终端生效,需要把命令写入powershell的配置文件中
在终端中输入命令查看系统配置文件的路径
1
echo $PROFILE
打开配置文件,若不存在则自己创建一个,在配置文件中添加代理配置
1 2
$Env:http_proxy="http://127.0.0.1:7890" $Env:https_proxy="http://127.0.0.1:7890"
保存退出,新建一个终端输入命令测试代理,返回200的话说明系统配置设置成功了
1
curl -I https://www.google.com
CMD配置
windows的命令提示符cmd使用以下命令配置
1
2
set HTTP_PROXY=http://127.0.0.1:7890
set HTTPS_PROXY=https://127.0.0.1:7890
通过curl命令测试代理
1
2
curl.exe -I http://www.google.com
curl.exe -I https://www.google.com
看到返回HTTP/1.1 200 OK
代表配置成功
还原命令:
1
2
set HTTP_PROXY=
set HTTPS_PROXY=
其他的方法(未生效)
网上其他博客介绍的是这种方法,不过我使用这种方法后并没有生效,可能这种方式适用于旧版的powershell。以下的命令都要在管理员模式下进行。
查看代理
1
netsh winhttp show proxy
设置代理
1
netsh winhttp set proxy 127.0.0.1:7890
取消代理
1
netsh winhttp reset proxy