如何转义传递给RubyGems代理参数的值传入的插入符?

时间:2017-02-06 13:25:25

标签: ruby proxy rubygems escaping

我正在尝试在代理后面安装gem。我给出的密码包含一个插入符号(^)。

我的http_proxy环境变量是user:pass^word@proxy,这让git感到高兴,作为一个例子。

当我致电gem install package时,我得到:

ERROR:  While executing gem ... (URI::InvalidURIError)
     bad URI(is not URI?): http://user:pass^word@proxy

当我拨打gem install package -p http://user:pass\^word@proxygem install package -p 'http://user:pass^word@proxy'或同时没有http://时,我会

ERROR:  While executing gem ... (OptionParser::InvalidArgument)
    invalid argument: -p http://user:pass^word@proxy

我试图用额外的反斜杠逃脱插入符号,但是它们转向正斜杠。

1 个答案:

答案 0 :(得分:0)

https://en.wikipedia.org/wiki/Percent-encoding救援!

gem install package -p 'http://user:pass%5Eword@proxy'