当前位置: 首页>>技术教程>>正文


如何在没有GUI的情况下配置代理?

,

问题描述

如何在使用终端的Ubuntu服务器或最小(CLI)版本中配置代理设置?

最佳解决思路

必须将CLI中的System-wide代理设置为环境变量。

  • vi(或您最喜欢的编辑器)打开/etc/environment文件。该文件存储启动时初始化的system-wide变量。

  • 添加以下行,并进行适当修改。您必须同时复制upper-case和lower-case,因为(不幸的是)某些程序仅查找其中一个程序:http_proxy =“http://myproxy.server.com:8080/”https_proxy =“http://myproxy.server.com :8080 /“ftp_proxy =”http://myproxy.server.com:8080/“no_proxy =”localhost,127.0.0.1,localaddress,.localdomain.com“HTTP_PROXY =”http://myproxy.server.com:8080 /“HTTPS_PROXY =”http://myproxy.server.com:8080/“FTP_PROXY =”http://myproxy.server.com:8080/“NO_PROXY =”localhost,127.0.0.1,localaddress,.localdomain.com“

  • apt-getaptitude等在与sudo正常使用时不会服从环境变量。所以分开配置它们;在/etc/apt/apt.conf.d/中创建一个名为95proxies的文件,并包含以下内容:Acquire :: http :: proxy“http://myproxy.server.com:8080/”;获取:: ftp :: proxy “ftp://myproxy.server.com:8080/”; Acquire :: https :: proxy“https://myproxy.server.com:8080/”;

最后,注销并重启以确保更改生效。


来源:12。特别参见1,以获取更多帮助,包括快速打开/关闭代理的脚本。

次佳解决思路

如果你有一个验证代理,那么URL将会不同。代替:

"http://myproxy.server.com:8080/"

您将拥有:

"http://user_name:password@myproxy.server.com:8080/"

请注意,这些仍然是URL,因此密码(可能是用户名)必须是URL encoded

例如,muru的用户名和)qv3TB3LBm7EkP}的密码如下所示:

"http://muru:)qv3TB3LBm7EkP%7D@myproxy.server.com:8080/"

这可以通过各种方式完成:

  1. 有几个编码网站:

  2. 程序化:

在捏,你可以使用man url来查看哪些字符需要编码:

An escaped octet is encoded as a character triplet, 
consisting of the percent character "%" followed by 
the two hexadecimal digits representing the octet code...

man ascii上提供八位字节代码。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/986.html,未经允许,请勿转载。