系统设置中的代理身份验证,但有一个变化

系统设置中的代理身份验证,但有一个变化

我们有一个密码策略,强制用户在密码中使用特殊字符。因此,某些密码将是 Gt4@gj#k(例如)。

现在要指定系统范围的代理设置(为什么不以更直观的方式完成这项工作,例如像在 synaptic 中完成的方式那样;以及为什么 synaptic 不再默认包含...)您必须在主机字段中使用用户名:密码@host 来验证代理。

我们的问题是,有些密码中带有@符号,因此它破坏了这个简单的系统。

如何使用系统范围的代理来与 apt 和允许使用真实世界密码的系统更新程序协同工作?

答案1

如果程序要求您以 http URL 的形式输入代理配置,则需要遵循构建 URL 的约定。

这意味着您不能@在用户名或密码部分包含字符除非你对它们进行编码. 字符可以在 URL 中编码为百分号,后跟代码点的十六进制表示形式。

因此对于密码Gt4@gj#k,您可以将其表示为Gt4%40gj%23k(井号用于分隔 URL 的片段部分,因此最好也对其进行编码)。

答案2

请查看以下网址

提问之前先进行重复问题搜索。

带有特殊字符的 Apt-get

相关内容