2

我需要帮助了解什么是替换已弃用的正确方法URI.escape

> URI.escape('space ^%$')
(pry):12: warning: URI.escape is obsolete
=> "space%20%5E%25$

当前的实现是这样的:

def escape(*arg)
  warn "URI.escape is obsolete", uplevel: 1
  DEFAULT_PARSER.escape(*arg)
end

所以,只是使用DEFAULT_PARSER似乎工作:

> URI::DEFAULT_PARSER.escape('space ^%$')
=> "space%20%5E%25$"

但也明确说明解析器似乎也可以工作:

> URI::RFC2396_Parser.new.escape('space ^%$')
=> "space%20%5E%25$"

我正在寻找的是关于 Ruby 更改的上下文,因此可以做出明智的决定。

  • 为什么被弃用
  • 为什么将其移至 RFC2396_Parser?我们应该期待新的 URI 解析器吗?
  • 是否有计划切换 URI::DEFAULT_PARSER?
4

0 回答 0