Linux中为特定程序(如wget/curl)单独配置代理

126 阅读2分钟

微信图片_20230808094553.png在Linux系统里,有时我们希望仅让特定程序(如wget、curl)使用代理,而其他程序不受影响。下面将分别介绍为这两个程序单独配置代理的方法。

为wget配置代理****

wget是一个常用的命令行下载工具,为其配置代理有两种常见方式。

使用命令行参数****

在执行wget命令时,直接通过-e参数指定代理设置。例如,代理服务器地址为proxy.example.com,端口为8080,要下载www.example.com的文件,命令如下:

bash

 wget -e use_proxy=yes -e http_proxy=proxy.example.com:8080 www.example.com

-e use_proxy=yes表示启用代理,-e http_proxy则指定了HTTP代理地址。

修改配置文件****

wget的配置文件通常位于~/.wgetrc。使用文本编辑器(如nano)打开该文件:

bash

 nano ~/.wgetrc

在文件中添加以下内容:

 use_proxy = on
 http_proxy = proxy.example.com:8080
 https_proxy = proxy.example.com:8080

保存并退出编辑器后,之后使用wget下载文件时就会自动使用指定的代理。

为curl配置代理****

curl同样是一个强大的网络传输工具,配置代理也很简单。

使用命令行选项****

在执行curl命令时,使用-x或--proxy选项指定代理服务器。例如:

bash

 curl -x proxy.example.com:8080 www.example.com

如果代理服务器需要认证,可以使用-U或--proxy-user选项指定用户名和密码:

bash

 curl -x proxy.example.com:8080 -U username:password www.example.com

配置环境变量(针对当前会话)****

虽然前面提到环境变量设置通常是全局的,但在当前终端会话中,也可以临时为curl设置代理。使用export命令:

bash

 export http_proxy=proxy.example.com:8080
 export https_proxy=proxy.example.com:8080

之后在该终端会话中执行curl命令就会使用代理。不过这种方式会影响当前会话中其他可能使用环境变量的程序,所以更推荐使用命令行选项的方式。

通过以上方法,你可以灵活地为wget和curl单独配置代理,满足不同的网络访问需求。