我试图弄清楚ruby 2.2.3中URI.escape的默认不安全字符集是什么.该文件说:
默认情况下使用REGEXP :: UNSAFE
但我无法在URI模块中找到任何常量.
此外,此代码(下面的代码段)自2009年以来标记为"过时"的escape/unescape方法.为什么它们已经过时了?
lib/uri/common.rb:97
def escape(*arg)
warn "#{caller(1)[0]}: warning: URI.escape is obsolete" if $VERBOSE
DEFAULT_PARSER.escape(*arg)
end
Run Code Online (Sandbox Code Playgroud)
文档是错误/过时了吗?
我想编码一个网址(http://www.someurl.com),以便我可以将它作为参数添加到GET调用:
domain.com/encoded_url
一旦收到另一端,我需要能够解码网址,但是,安全性不是问题.我宁愿坚持使用一个简单的密码(必须能够处理像':'和'?'这样的特殊字符),因为更高级的密码会生成编码字符串,这些字符串不会作为有效的URI字符串传递,也不能作为URL参数传递.
Ruby中实现的哪种密码最适合此目的?