这里以MacOS为例,因为我使用的是MacBook,也是在MacBook上跑通的,Windows可能要参考这个思路自己调整。
即便我开了全局梯子,在本地开发和OpenAI相关接口的请求还是有问题,一直请求超时。报错中总是提示connect ETIMEDOUT 128.242.245.180:443
之类的。
- Class for Windows mac版,并配置好能够科学上网
- Vscode终端 或是 任一Mac下的终端命令行软件
结合网上搜索的信息,基本确认shell中走的网络和代理配置后的不是同一套,需要单独配置一下。
对于mac环境,我们大部分时间都是使用命令行,因此代理配置相关的主要就是关于shell的代理配置。很奇怪shell命令行下配置的代理仅仅对shell相关的部分命令(例如wget等)生效,不是对整个机器生效(例如npm等还是要使用专门的代理)。
——摘抄自 iMac(OS X)日常开发中各种代理设置方法汇总(shell、Android Studio、gem、npm)
从Clash for Windows中可以很方便地获取配置命令,不需要专门自己写(如果你是mac专门版本的clash,也可以找到socks5对应的端口号,一般默认是7890)
# 打开用户目录下的.zshrc
> vim ~/.zshrc
# 在.zshrc末尾追加下面的内容
##############################################
# 将步骤一中获取到的命令行内容,设置为别名proxy的内容
alias proxy='export https_proxy=http://127.0.0.1:7890;export http_proxy=http://127.0.0.1:7890;export all_proxy=socks5://127.0.0.1:7890'
# 取消走代理的别名
alias unproxy='unset all_proxy;unset https_proxy;unset http_proxy'
# 用于测试是否成功的别名
alias testproxy='curl cip.cc'
##############################################
比如我的设置完长这样:
添加完成后记得按 Esc
,然后输入 wq
回车保存退出。然后执行以下命令让配置生效
source ~/.zshrc
先 【开启clash的全局梯子】 ,然后验证当前网络状态
# 开启完Clash的全局梯子后,执行如下命令
> testproxy
# 得到如下输出
IP : xxx.xxx.xxx.xxx
地址 : 中国 xx xx
运营商 : 联通
数据二 : xx省xx市 | 联通
数据三 : �
URL : http://www.cip.cc/xxx.xxx.xxx.xxx
此时我们可以确认,即便我们开了全局梯子,shell命令行中的请求走的依旧不是代理
# 设置shell命令走代理
> proxy
# 再执行验证
> testproxy
# 得到如下输出,是我设置的代理的地址
IP : xxx.xxx.xxx.xxx
地址 : 亚太地区 亚太地区
数据二 : 亚太地区
数据三 : 亚太地区亚太地区
URL : http://www.cip.cc/xxx.xxx.xxx.xxx
由上就可以确认,我们已经成功设置了shell中的代理。